Closed

Description
When downloading the loongarch64-unknown-none
(and softfloat
variant) target, the compiler_builtins
that ships with the compiler is broken:
error: linking with `rust-lld` failed: exit status: 1
|
= note: LC_ALL="C" PATH="<redacted>" VSLANG="1033" "rust-lld" "-flavor" "gnu" "/tmp/rustca1ZUz1/symbols.o" "/tmp/example/target/loongarch64-unknown-none-softfloat/debug/deps/example-43ca1a05d5214464.2dsfu9v1nhu5h7yb.rcgu.o" "--as-needed" "-L" "/tmp/example/target/loongarch64-unknown-none-softfloat/debug/deps" "-L" "/tmp/example/target/debug/deps" "-L" "/tmp/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/loongarch64-unknown-none-softfloat/lib" "-Bstatic" "/tmp/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/loongarch64-unknown-none-softfloat/lib/librustc_std_workspace_core-a66f3359610045a1.rlib" "/tmp/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/loongarch64-unknown-none-softfloat/lib/libcore-fd043e39f63b431a.rlib" "/tmp/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/loongarch64-unknown-none-softfloat/lib/libcompiler_builtins-811e50dbc3f2e3d8.rlib" "-Bdynamic" "--eh-frame-hdr" "-z" "noexecstack" "-L" "/tmp/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/loongarch64-unknown-none-softfloat/lib" "-o" "/tmp/example/target/loongarch64-unknown-none-softfloat/debug/deps/example-43ca1a05d5214464" "--gc-sections"
= note: rust-lld: error: /tmp/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/loongarch64-unknown-none-softfloat/lib/libcompiler_builtins-811e50dbc3f2e3d8.rlib(45c91108d938afe8-absvdi2.o) is incompatible with /tmp/rustca1ZUz1/symbols.o
rust-lld: error: /tmp/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/loongarch64-unknown-none-softfloat/lib/libcompiler_builtins-811e50dbc3f2e3d8.rlib(45c91108d938afe8-absvsi2.o) is incompatible with /tmp/rustca1ZUz1/symbols.o
rust-lld: error: /tmp/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/loongarch64-unknown-none-softfloat/lib/libcompiler_builtins-811e50dbc3f2e3d8.rlib(45c91108d938afe8-absvti2.o) is incompatible with /tmp/rustca1ZUz1/symbols.o
rust-lld: error: /tmp/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/loongarch64-unknown-none-softfloat/lib/libcompiler_builtins-811e50dbc3f2e3d8.rlib(45c91108d938afe8-addvdi3.o) is incompatible with /tmp/rustca1ZUz1/symbols.o
rust-lld: error: /tmp/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/loongarch64-unknown-none-softfloat/lib/libcompiler_builtins-811e50dbc3f2e3d8.rlib(45c91108d938afe8-addvsi3.o) is incompatible with /tmp/rustca1ZUz1/symbols.o
rust-lld: error: /tmp/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/loongarch64-unknown-none-softfloat/lib/libcompiler_builtins-811e50dbc3f2e3d8.rlib(45c91108d938afe8-addvti3.o) is incompatible with /tmp/rustca1ZUz1/symbols.o
rust-lld: error: /tmp/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/loongarch64-unknown-none-softfloat/lib/libcompiler_builtins-811e50dbc3f2e3d8.rlib(45c91108d938afe8-clzdi2.o) is incompatible with /tmp/rustca1ZUz1/symbols.o
rust-lld: error: /tmp/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/loongarch64-unknown-none-softfloat/lib/libcompiler_builtins-811e50dbc3f2e3d8.rlib(45c91108d938afe8-clzsi2.o) is incompatible with /tmp/rustca1ZUz1/symbols.o
rust-lld: error: /tmp/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/loongarch64-unknown-none-softfloat/lib/libcompiler_builtins-811e50dbc3f2e3d8.rlib(45c91108d938afe8-clzti2.o) is incompatible with /tmp/rustca1ZUz1/symbols.o
rust-lld: error: /tmp/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/loongarch64-unknown-none-softfloat/lib/libcompiler_builtins-811e50dbc3f2e3d8.rlib(45c91108d938afe8-cmpdi2.o) is incompatible with /tmp/rustca1ZUz1/symbols.o
rust-lld: error: /tmp/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/loongarch64-unknown-none-softfloat/lib/libcompiler_builtins-811e50dbc3f2e3d8.rlib(45c91108d938afe8-cmpti2.o) is incompatible with /tmp/rustca1ZUz1/symbols.o
rust-lld: error: /tmp/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/loongarch64-unknown-none-softfloat/lib/libcompiler_builtins-811e50dbc3f2e3d8.rlib(45c91108d938afe8-ctzdi2.o) is incompatible with /tmp/rustca1ZUz1/symbols.o
rust-lld: error: /tmp/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/loongarch64-unknown-none-softfloat/lib/libcompiler_builtins-811e50dbc3f2e3d8.rlib(45c91108d938afe8-ctzsi2.o) is incompatible with /tmp/rustca1ZUz1/symbols.o
rust-lld: error: /tmp/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/loongarch64-unknown-none-softfloat/lib/libcompiler_builtins-811e50dbc3f2e3d8.rlib(45c91108d938afe8-ctzti2.o) is incompatible with /tmp/rustca1ZUz1/symbols.o
rust-lld: error: /tmp/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/loongarch64-unknown-none-softfloat/lib/libcompiler_builtins-811e50dbc3f2e3d8.rlib(45c91108d938afe8-divdc3.o) is incompatible with /tmp/rustca1ZUz1/symbols.o
rust-lld: error: /tmp/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/loongarch64-unknown-none-softfloat/lib/libcompiler_builtins-811e50dbc3f2e3d8.rlib(45c91108d938afe8-divsc3.o) is incompatible with /tmp/rustca1ZUz1/symbols.o
rust-lld: error: /tmp/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/loongarch64-unknown-none-softfloat/lib/libcompiler_builtins-811e50dbc3f2e3d8.rlib(45c91108d938afe8-extendhfsf2.o) is incompatible with /tmp/rustca1ZUz1/symbols.o
rust-lld: error: /tmp/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/loongarch64-unknown-none-softfloat/lib/libcompiler_builtins-811e50dbc3f2e3d8.rlib(45c91108d938afe8-ffsti2.o) is incompatible with /tmp/rustca1ZUz1/symbols.o
rust-lld: error: /tmp/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/loongarch64-unknown-none-softfloat/lib/libcompiler_builtins-811e50dbc3f2e3d8.rlib(45c91108d938afe8-int_util.o) is incompatible with /tmp/rustca1ZUz1/symbols.o
rust-lld: error: /tmp/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/loongarch64-unknown-none-softfloat/lib/libcompiler_builtins-811e50dbc3f2e3d8.rlib(45c91108d938afe8-muldc3.o) is incompatible with /tmp/rustca1ZUz1/symbols.o
rust-lld: error: too many errors emitted, stopping now (use --error-limit=0 to see all errors)
Upon further inspection, the compiler_builtins
symbols are indeed built for x86-64 and not LoongArch:
$ file 45c91108d938afe8-muldc3.o
45c91108d938afe8-muldc3.o: ELF 64-bit LSB relocatable, x86-64, version 1 (SYSV), with debug_info, not stripped
It's not clear what causes this, but https://github.com/rust-lang/rust/blob/master/src/ci/docker/host-x86_64/dist-various-2/Dockerfile#L33 contains no corresponding definitions for CC_
.
This issue appears related, in that it would catch whatever causes this: #111142