Skip to content

error running asm tests #622

Closed
Closed
@folkertdev

Description

@folkertdev

i have what I believe is a good installation of the gcc backend, but it fails to run the asm tests. This works (as far as I can tell), and ./y test --release also starts running tests.

> ./y.sh cargo build --manifest-path tests/hello-world/Cargo.toml
[BUILD] build system
    Finished `release` profile [optimized] target(s) in 0.03s
Using `/home/folkertdev/rust/rustc_codegen_gcc/build/libgccjit/e607be166673a8de9fc07f6f02c60426e556c5f2` as path for libgccjit
   Compiling mylib v0.1.0 (/home/folkertdev/rust/rustc_codegen_gcc/tests/hello-world/mylib)
   Compiling hello_world v0.0.0 (/home/folkertdev/rust/rustc_codegen_gcc/tests/hello-world)
    Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.16s

However the asm tests do not work

> ./y.sh test --asm-tests
[BUILD] build system
    Finished `release` profile [optimized] target(s) in 0.02s
Using `/home/folkertdev/rust/rustc_codegen_gcc/build/libgccjit/e607be166673a8de9fc07f6f02c60426e556c5f2` as path for libgccjit
    Finished `dev` profile [optimized + debuginfo] target(s) in 0.01s
HEAD is now at eb54a50837a Auto merge of #135370 - matthiaskrgr:rollup-g2w6d5n, r=matthiaskrgr
[TEST] rustc asm test suite
Command `["./x.py", "test", "--run", "always", "--stage", "0", "tests/assembly/asm", "--compiletest-rustc-args", "-Zpanic-abort-tests \\\n            -Zcodegen-backend=\"/home/folkertdev/rust/rustc_codegen_gcc/target/debug/librustc_codegen_gcc.so\" \\\n            --sysroot \"/home/folkertdev/rust/rustc_codegen_gcc/build/build_sysroot/sysroot\" -Cpanic=abort"]` failed
Command failed to run: Command `./x.py test --run always --stage 0 tests/assembly/asm --compiletest-rustc-args -Zpanic-abort-tests \
            -Zcodegen-backend="/home/folkertdev/rust/rustc_codegen_gcc/target/debug/librustc_codegen_gcc.so" \
            --sysroot "/home/folkertdev/rust/rustc_codegen_gcc/build/build_sysroot/sysroot" -Cpanic=abort` (running in folder `build/rust`) exited with status Some(1)
==== STDOUT ====
There have been changes to x.py since you last updated:
  [INFO] Removed android-ndk r15 support in favor of android-ndk r25b.
    - PR Link https://github.com/rust-lang/rust/pull/116998
  [INFO] New option `rust.parallel-compiler` added to config.toml.
    - PR Link https://github.com/rust-lang/rust/pull/117435
  [WARNING] Default value of `download-ci-llvm` was changed for `codegen` profile.
    - PR Link https://github.com/rust-lang/rust/pull/116881
  [INFO] Use of the `if-available` value for `download-ci-llvm` is deprecated; prefer using the new `if-unchanged` value.
    - PR Link https://github.com/rust-lang/rust/pull/117813
  [INFO] The `rust.use-lld` configuration now has different options ('external'/true or 'self-contained'), and its behaviour has changed.
    - PR Link https://github.com/rust-lang/rust/pull/116278
  [INFO] Removed rust.run_dsymutil and dist.gpg_password_file config options, as they were unused.
    - PR Link https://github.com/rust-lang/rust/pull/118703
  [WARNING] rust-analyzer-proc-macro-srv is no longer enabled by default. To build it, you must either enable it in the configuration or explicitly invoke it with x.py.
    - PR Link https://github.com/rust-lang/rust/pull/119124
  [INFO] The dist.missing-tools config option was deprecated, as it was unused. If you are using it, remove it from your config, it will be removed soon.
    - PR Link https://github.com/rust-lang/rust/pull/119373
  [WARNING] A new `optimized-compiler-builtins` option has been introduced. Whether to build llvm's `compiler-rt` from source is no longer implicitly controlled by git state. See the PR for more details.
    - PR Link https://github.com/rust-lang/rust/pull/102579
  [INFO] New option `target.<triple>.codegen-backends` added to config.toml.
    - PR Link https://github.com/rust-lang/rust/pull/120348
  [INFO] A new `rust.frame-pointers` option has been introduced and made the default in the compiler and codegen profiles.
    - PR Link https://github.com/rust-lang/rust/pull/121203
  [WARNING] The "codegen"/"llvm" profile has been removed and replaced with "compiler", use it instead for the same behavior.
    - PR Link https://github.com/rust-lang/rust/pull/121278
  [INFO] `x install` now skips providing tarball sources (under 'build/dist' path) to speed up the installation process.
    - PR Link https://github.com/rust-lang/rust/pull/118724
  [INFO] A new `boostrap-cache-path` option has been introduced which can be utilized to modify the cache path for bootstrap.
    - PR Link https://github.com/rust-lang/rust/pull/121976
  [INFO] a new `target.*.runner` option is available to specify a wrapper executable required to run tests for a target
    - PR Link https://github.com/rust-lang/rust/pull/122108
  [INFO] New option `rust.llvm-bitcode-linker` that will build the llvm-bitcode-linker.
    - PR Link https://github.com/rust-lang/rust/pull/117458
  [WARNING] `rust.split-debuginfo` has been moved to `target.<triple>.split-debuginfo` and its default value is determined for each target individually.
    - PR Link https://github.com/rust-lang/rust/pull/121754
  [WARNING] The deprecated field `changelog-seen` has been removed. Using that field in `config.toml` from now on will result in breakage.
    - PR Link https://github.com/rust-lang/rust/pull/123711
  [INFO] New option `build.lldb` that will override the default lldb binary path used in debuginfo tests
    - PR Link https://github.com/rust-lang/rust/pull/124501
  [INFO] The compiler profile now defaults to rust.debuginfo-level = "line-tables-only"
    - PR Link https://github.com/rust-lang/rust/pull/123337
  [WARNING] `rust.lld` has a new default value of `true` on `x86_64-unknown-linux-gnu`. Starting at stage1, `rust-lld` will thus be this target's default linker. No config changes should be necessary.
    - PR Link https://github.com/rust-lang/rust/pull/124129
  [WARNING] Removed `dist.missing-tools` configuration as it was deprecated long time ago.
    - PR Link https://github.com/rust-lang/rust/pull/125535
  [WARNING] `llvm.lld` is enabled by default for the dist profile. If set to false, `lld` will not be included in the dist build.
    - PR Link https://github.com/rust-lang/rust/pull/126701
  [WARNING] `debug-logging` option has been removed from the default `tools` profile.
    - PR Link https://github.com/rust-lang/rust/pull/127913
  [INFO] the `wasm-component-ld` tool is now built as part of `build.extended` and can be a member of `build.tools`
    - PR Link https://github.com/rust-lang/rust/pull/127866
  [INFO] Removed android-ndk r25b support in favor of android-ndk r26d.
    - PR Link https://github.com/rust-lang/rust/pull/120593
  [WARNING] For tarball sources, default value for `rust.channel` will be taken from `src/ci/channel` file.
    - PR Link https://github.com/rust-lang/rust/pull/125181
  [INFO] New option `llvm.libzstd` to control whether llvm is built with zstd support.
    - PR Link https://github.com/rust-lang/rust/pull/125642
  [WARNING] ./x test --rustc-args was renamed to --compiletest-rustc-args as it only applies there. ./x miri --rustc-args was also removed.
    - PR Link https://github.com/rust-lang/rust/pull/128841
  [INFO] The `build.profiler` option now tries to use source code from `download-ci-llvm` if possible, instead of checking out the `src/llvm-project` submodule.
    - PR Link https://github.com/rust-lang/rust/pull/129295
  [INFO] New option `build.cargo-clippy` added for supporting the use of custom/external clippy.
    - PR Link https://github.com/rust-lang/rust/pull/129152
  [WARNING] Removed `rust.split-debuginfo` as it was deprecated long time ago.
    - PR Link https://github.com/rust-lang/rust/pull/129925
  [INFO] New option `llvm.enzyme` to control whether the llvm based autodiff tool (Enzyme) is built.
    - PR Link https://github.com/rust-lang/rust/pull/129176
  [WARNING] `download-ci-llvm = true` now checks if CI llvm is available and has become the default for the compiler profile
    - PR Link https://github.com/rust-lang/rust/pull/129473
  [INFO] 'tools' and 'library' profiles switched `download-ci-llvm` option from `if-unchanged` to `true`.
    - PR Link https://github.com/rust-lang/rust/pull/130202
  [INFO] New option `dist.vendor` added to control whether bootstrap should vendor dependencies for dist tarball.
    - PR Link https://github.com/rust-lang/rust/pull/130110
  [INFO] If `llvm.download-ci-llvm` is not defined, it defaults to `true`.
    - PR Link https://github.com/rust-lang/rust/pull/130529
  [INFO] New option `./x setup editor` added, replacing `./x setup vscode` and adding support for vim, emacs and helix.
    - PR Link https://github.com/rust-lang/rust/pull/131075
  [INFO] Allow setting `--jobs` in config.toml with `build.jobs`.
    - PR Link https://github.com/rust-lang/rust/pull/131838
  [INFO] New option `build.compiletest-diff-tool` that adds support for a custom differ for compiletest
    - PR Link https://github.com/rust-lang/rust/pull/131181
  [INFO] New option `llvm.offload` to control whether the llvm offload runtime for GPU support is built. Implicitly enables the openmp runtime as dependency.
    - PR Link https://github.com/rust-lang/rust/pull/131513
  [WARNING] Deprecated `rust.parallel_compiler` as the compiler now always defaults to being parallel (with 1 thread)
    - PR Link https://github.com/rust-lang/rust/pull/132282
  [INFO] `download-rustc='if-unchanged'` is now a default option for library profile.
    - PR Link https://github.com/rust-lang/rust/pull/132494
  [INFO] `rust.llvm-tools` is now enabled by default when no `config.toml` is provided.
    - PR Link https://github.com/rust-lang/rust/pull/133207
  [WARNING] Revert `rust.download-rustc` global default to `false` and only use `rust.download-rustc = "if-unchanged"` default for library and tools profile. As alt CI rustc is built without debug assertions, `rust.debug-assertions = true` will now inhibit downloading CI rustc.
    - PR Link https://github.com/rust-lang/rust/pull/133068
  [INFO] `build.vendor` is now enabled by default for dist/tarball sources when 'vendor' directory and '.cargo/config.toml' file are present.
    - PR Link https://github.com/rust-lang/rust/pull/133853
  [WARNING] compiletest now takes `--no-capture` instead of `--nocapture`; bootstrap now accepts `--no-capture` as an argument to test commands directly
    - PR Link https://github.com/rust-lang/rust/pull/134809
  [WARNING] Removed `rust.parallel-compiler` as it was deprecated in #132282 long time ago.
    - PR Link https://github.com/rust-lang/rust/pull/134650
  [WARNING] It is now possible to configure `optimized-compiler-builtins` for per target.
    - PR Link https://github.com/rust-lang/rust/pull/135326
NOTE: to silence this warning, update `config.toml` to use `change-id = 135326` instead
Building stage0 library artifacts (x86_64-unknown-linux-gnu)
Building stage0 tool compiletest (x86_64-unknown-linux-gnu)
Testing stage0 compiletest suite=assembly mode=assembly (x86_64-unknown-linux-gnu)

==== STDERR ====
Building bootstrap
    Finished `dev` profile [unoptimized] target(s) in 0.03s
    Finished `release` profile [optimized] target(s) in 0.02s
    Finished `release` profile [optimized] target(s) in 0.10s

thread 'main' panicked at src/tools/compiletest/src/common.rs:716:9:
error: failed to run LD_LIBRARY_PATH="/home/folkertdev/.rustup/toolchains/nightly-2025-01-12-x86_64-unknown-linux-gnu/lib:/home/folkertdev/rust/rustc_codegen_gcc/build/rust/build/x86_64-unknown-linux-gnu/stage0-bootstrap-tools/x86_64-unknown-linux-gnu/release/deps:/home/folkertdev/.rustup/toolchains/nightly-2025-01-12-x86_64-unknown-linux-gnu/lib:target/out:/home/folkertdev/rust/rustc_codegen_gcc/build/build_sysroot/sysroot/lib/rustlib/x86_64-unknown-linux-gnu/lib:/home/folkertdev/rust/rustc_codegen_gcc/build/libgccjit/e607be166673a8de9fc07f6f02c60426e556c5f2" RUSTC_BOOTSTRAP="1" "/home/folkertdev/.rustup/toolchains/nightly-2025-01-12-x86_64-unknown-linux-gnu/bin/rustc" "-Crpath" "-Cdebuginfo=0" "-Zpanic-abort-tests" "\\" "-Zcodegen-backend=\"/home/folkertdev/rust/rustc_codegen_gcc/target/debug/librustc_codegen_gcc.so\"" "\\" "--sysroot" "\"/home/folkertdev/rust/rustc_codegen_gcc/build/build_sysroot/sysroot\"" "-Cpanic=abort" "-Lnative=/home/folkertdev/rust/rustc_codegen_gcc/build/rust/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "--print=all-target-specs-json" "-Zunstable-options"
--- stdout

--- stderr
error: multiple input filenames provided (first two filenames are `\` and `\`)


stack backtrace:
   0: rust_begin_unwind
             at /home/folkertdev/rust/rustc_codegen_gcc/build/build_sysroot/sysroot_src/library/std/src/panicking.rs:692:5
   1: core::panicking::panic_fmt
             at /home/folkertdev/rust/rustc_codegen_gcc/build/build_sysroot/sysroot_src/library/core/src/panicking.rs:75:14
   2: compiletest::common::rustc_output
   3: <compiletest::common::TargetCfgs>::new
   4: <std::sync::once_lock::OnceLock<compiletest::common::TargetCfgs>>::initialize::<<std::sync::once_lock::OnceLock<compiletest::common::TargetCfgs>>::get_or_init<<compiletest::common::Config>::target_cfgs::{closure#0}>::{closure#0}, !>::{closure#0}
   5: <std::sync::poison::once::Once>::call_once_force::<<std::sync::once_lock::OnceLock<compiletest::common::TargetCfgs>>::initialize<<std::sync::once_lock::OnceLock<compiletest::common::TargetCfgs>>::get_or_init<<compiletest::common::Config>::target_cfgs::{closure#0}>::{closure#0}, !>::{closure#0}>::{closure#0}
   6: std::sys::sync::once::futex::Once::call
             at /home/folkertdev/rust/rustc_codegen_gcc/build/build_sysroot/sysroot_src/library/std/src/sys/sync/once/futex.rs:176:21
   7: <std::sync::once_lock::OnceLock<compiletest::common::TargetCfgs>>::initialize::<<std::sync::once_lock::OnceLock<compiletest::common::TargetCfgs>>::get_or_init<<compiletest::common::Config>::target_cfgs::{closure#0}>::{closure#0}, !>
   8: <compiletest::common::Config>::target_cfg.cold
   9: <compiletest::header::needs::CachedNeedsConditions>::load
  10: <compiletest::header::HeadersCache>::load
  11: compiletest::collect_and_make_tests.localalias
  12: compiletest::run_tests
  13: compiletest::main
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
Build completed unsuccessfully in 0:00:03

I'm not sure what this is trying to tell me, though a \ path on linux is strange.

I'm not sure what the status of these tests even is, but asm is what I'm interested in and I saw the option in the ./y source code.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions