Skip to content

1.74 fails to build on mips with LTO: relocation truncated to fit: R_MIPS_TLS_GOTTPREL against `std::collections::hash::map::RandomState::new::KEYS::__getit::__KEY' #118794

Closed
@matoro

Description

@matoro

Hi, 1.74 (tried 1.74.1) fails to build on mips when upgrading from 1.73.0. 1.73.0 rebuilds itself just fine. My platform is big-endian mips64.

error: linking with `mips64-unknown-linux-gnu-gcc` failed: exit status: 1
  |
  = note: LC_ALL="C" PATH="/var/tmp/portage/dev-lang/rust-1.74.1/work/rustc-1.74.1-src/build/mips64-unknown-linux-gnuabi64/stage1/lib/rustlib/mips64-unknown-linux-gnuabi64/bin:/var/tmp/portage/dev-lang/rust-1.74.1/temp/python3.12/bin:/usr/lib/portage/python3.11/ebuild-helpers/xattr:/usr/lib/portage/python3.11/ebuild-helpers:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/bin" VSLANG="1033" "mips64-unknown-linux-gnu-gcc" "-Wl,--version-script=/var/tmp/portage/dev-lang/rust-1.74.1/temp/rustcuBI7ze/list" "-Wl,--no-undefined-version" "/var/tmp/portage/dev-lang/rust-1.74.1/temp/rustcuBI7ze/symbols.o" "/var/tmp/portage/dev-lang/rust-1.74.1/work/rustc-1.74.1-src/build/mips64-unknown-linux-gnuabi64/stage1-rustc/mips64-unknown-linux-gnuabi64/release/deps/rustc_driver-1db6fcb3743aba68.rustc_driver.7537d8f2e79b31eb-cgu.0.rcgu.o" "/var/tmp/portage/dev-lang/rust-1.74.1/work/rustc-1.74.1-src/build/mips64-unknown-linux-gnuabi64/stage1-rustc/mips64-unknown-linux-gnuabi64/release/deps/rustc_driver-1db6fcb3743aba68.21iia6c2s8fv188.rcgu.rmeta" "-Wl,--as-needed" "-L" "/var/tmp/portage/dev-lang/rust-1.74.1/work/rustc-1.74.1-src/build/mips64-unknown-linux-gnuabi64/stage1-rustc/mips64-unknown-linux-gnuabi64/release/deps" "-L" "/var/tmp/portage/dev-lang/rust-1.74.1/work/rustc-1.74.1-src/build/mips64-unknown-linux-gnuabi64/stage1-rustc/release/deps" "-L" "/var/tmp/portage/dev-lang/rust-1.74.1/work/rustc-1.74.1-src/build/mips64-unknown-linux-gnuabi64/stage1-rustc/mips64-unknown-linux-gnuabi64/release/build/psm-7a40414c40633d9d/out" "-L" "/var/tmp/portage/dev-lang/rust-1.74.1/work/rustc-1.74.1-src/build/mips64-unknown-linux-gnuabi64/stage1-rustc/mips64-unknown-linux-gnuabi64/release/build/rustc_llvm-08caa5bd0b77bb18/out" "-L" "/var/tmp/portage/dev-lang/rust-1.74.1/work/rustc-1.74.1-src/build/mips64-unknown-linux-gnuabi64/llvm/build/lib" "-L" "/var/tmp/portage/dev-lang/rust-1.74.1/work/rustc-1.74.1-src/build/mips64-unknown-linux-gnuabi64/stage1/lib/rustlib/mips64-unknown-linux-gnuabi64/lib" "-Wl,-Bstatic" "/var/tmp/portage/dev-lang/rust-1.74.1/temp/rustcuBI7ze/librustc_llvm-64317b9dadb2a680.rlib" "/var/tmp/portage/dev-lang/rust-1.74.1/temp/rustcuBI7ze/libpsm-0c7099f0e22d045a.rlib" "-L" "/var/tmp/portage/dev-lang/rust-1.74.1/work/rustc-1.74.1-src/build/mips64-unknown-linux-gnuabi64/stage1/lib/rustlib/mips64-unknown-linux-gnuabi64/lib" "-Wl,-Bdynamic" "-lstd-3efbf6c826a525ba" "-Wl,-Bstatic" "/var/tmp/portage/dev-lang/rust-1.74.1/work/rustc-1.74.1-src/build/mips64-unknown-linux-gnuabi64/stage1/lib/rustlib/mips64-unknown-linux-gnuabi64/lib/libcompiler_builtins-0a38713229dd51a8.rlib" "-Wl,-Bdynamic" "-lrt" "-ldl" "-lm" "-lz" "-lstdc++" "-ldl" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-Wl,--eh-frame-hdr" "-Wl,-z,noexecstack" "-L" "/var/tmp/portage/dev-lang/rust-1.74.1/work/rustc-1.74.1-src/build/mips64-unknown-linux-gnuabi64/stage1/lib/rustlib/mips64-unknown-linux-gnuabi64/lib" "-o" "/var/tmp/portage/dev-lang/rust-1.74.1/work/rustc-1.74.1-src/build/mips64-unknown-linux-gnuabi64/stage1-rustc/mips64-unknown-linux-gnuabi64/release/deps/librustc_driver-1db6fcb3743aba68.so" "-shared" "-Wl,-z,relro,-z,now" "-Wl,-O1" "-nodefaultlibs"
  = note: /var/tmp/portage/dev-lang/rust-1.74.1/work/rustc-1.74.1-src/build/mips64-unknown-linux-gnuabi64/stage1-rustc/mips64-unknown-linux-gnuabi64/release/deps/rustc_driver-1db6fcb3743aba68.rustc_driver.7537d8f2e79b31eb-cgu.0.rcgu.o: in function `<cc::Build>::new':
          rustc_driver.7537d8f2e79b31eb-cgu.0:(.text._RNvMs4_CskPnvemPRVND_2ccNtB5_5Build3new+0x48): relocation truncated to fit: R_MIPS_TLS_GOTTPREL against `std::collections::hash::map::RandomState::new::KEYS::__getit::__KEY'
          rustc_driver.7537d8f2e79b31eb-cgu.0:(.text._RNvMs4_CskPnvemPRVND_2ccNtB5_5Build3new+0x94): relocation truncated to fit: R_MIPS_TLS_GOTTPREL against `std::collections::hash::map::RandomState::new::KEYS::__getit::__KEY'
          rustc_driver.7537d8f2e79b31eb-cgu.0:(.text._RNvMs4_CskPnvemPRVND_2ccNtB5_5Build3new+0x180): relocation truncated to fit: R_MIPS_TLS_GOTTPREL against `std::collections::hash::map::RandomState::new::KEYS::__getit::__KEY'
          rustc_driver.7537d8f2e79b31eb-cgu.0:(.text._RNvMs4_CskPnvemPRVND_2ccNtB5_5Build3new+0x1f4): relocation truncated to fit: R_MIPS_TLS_GOTTPREL against `std::collections::hash::map::RandomState::new::KEYS::__getit::__KEY'
          rustc_driver.7537d8f2e79b31eb-cgu.0:(.text._RNvMs4_CskPnvemPRVND_2ccNtB5_5Build3new+0x2c0): relocation truncated to fit: R_MIPS_TLS_GOTTPREL against `std::collections::hash::map::RandomState::new::KEYS::__getit::__KEY'
          rustc_driver.7537d8f2e79b31eb-cgu.0:(.text._RNvMs4_CskPnvemPRVND_2ccNtB5_5Build3new+0x2e8): relocation truncated to fit: R_MIPS_TLS_GOTTPREL against `std::collections::hash::map::RandomState::new::KEYS::__getit::__KEY'
          /var/tmp/portage/dev-lang/rust-1.74.1/work/rustc-1.74.1-src/build/mips64-unknown-linux-gnuabi64/stage1-rustc/mips64-unknown-linux-gnuabi64/release/deps/rustc_driver-1db6fcb3743aba68.rustc_driver.7537d8f2e79b31eb-cgu.0.rcgu.o: in function `crossbeam_channel::select::run_select':
          rustc_driver.7537d8f2e79b31eb-cgu.0:(.text._RNvNtCsd28hJYfFZbR_17crossbeam_channel6select10run_select+0x68): relocation truncated to fit: R_MIPS_TLS_GOTTPREL against `crossbeam_channel::utils::shuffle::RNG::__getit::__KEY'
          rustc_driver.7537d8f2e79b31eb-cgu.0:(.text._RNvNtCsd28hJYfFZbR_17crossbeam_channel6select10run_select+0x90): relocation truncated to fit: R_MIPS_TLS_GOTTPREL against `crossbeam_channel::utils::shuffle::RNG::__getit::__KEY'
          rustc_driver.7537d8f2e79b31eb-cgu.0:(.text._RNvNtCsd28hJYfFZbR_17crossbeam_channel6select10run_select+0x150): relocation truncated to fit: R_MIPS_TLS_GOTTPREL against `crossbeam_channel::utils::shuffle::RNG::__getit::__KEY'
          rustc_driver.7537d8f2e79b31eb-cgu.0:(.text._RNvNtCsd28hJYfFZbR_17crossbeam_channel6select10run_select+0x314): relocation truncated to fit: R_MIPS_TLS_GOTTPREL against `<crossbeam_channel::context::Context>::with::CONTEXT::__getit::__KEY'
          rustc_driver.7537d8f2e79b31eb-cgu.0:(.text._RNvNtCsd28hJYfFZbR_17crossbeam_channel6select10run_select+0x75c): additional relocation overflows omitted from the output
          collect2: error: ld returned 1 exit status
          

error: could not compile `rustc_driver` (lib) due to previous error

Toolchain versions: gcc 13.2.1, binutils 2.41

Complete build log (using -vvv): build.log

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-linkageArea: linking into static, shared libraries and binariesO-MIPSTarget: MIPS processorsO-linuxOperating system: LinuxT-compilerRelevant to the compiler team, which will review and decide on the PR/issue.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions