From: Debian Rust Maintainers Date: Thu, 14 Jul 2022 13:17:39 +0200 Subject: d-rustc-fix-mips64el-bootstrap Bug: https://github.com/rust-lang/rust/issues/52108 =================================================================== --- compiler/rustc_target/src/spec/mips64_unknown_linux_gnuabi64.rs | 2 +- compiler/rustc_target/src/spec/mips64el_unknown_linux_gnuabi64.rs | 2 +- src/bootstrap/bootstrap.py | 2 ++ src/test/assembly/asm/mips-types.rs | 1 + 4 files changed, 5 insertions(+), 2 deletions(-) Index: rust/compiler/rustc_target/src/spec/mips64_unknown_linux_gnuabi64.rs =================================================================== --- rust.orig/compiler/rustc_target/src/spec/mips64_unknown_linux_gnuabi64.rs +++ rust/compiler/rustc_target/src/spec/mips64_unknown_linux_gnuabi64.rs @@ -12,7 +12,7 @@ pub fn target() -> Target { endian: Endian::Big, // NOTE(mips64r2) matches C toolchain cpu: "mips64r2".into(), - features: "+mips64r2".into(), + features: "+mips64r2,+xgot".into(), max_atomic_width: Some(64), mcount: "_mcount".into(), Index: rust/compiler/rustc_target/src/spec/mips64el_unknown_linux_gnuabi64.rs =================================================================== --- rust.orig/compiler/rustc_target/src/spec/mips64el_unknown_linux_gnuabi64.rs +++ rust/compiler/rustc_target/src/spec/mips64el_unknown_linux_gnuabi64.rs @@ -10,7 +10,7 @@ pub fn target() -> Target { abi: "abi64".into(), // NOTE(mips64r2) matches C toolchain cpu: "mips64r2".into(), - features: "+mips64r2".into(), + features: "+mips64r2,+xgot".into(), max_atomic_width: Some(64), mcount: "_mcount".into(), Index: rust/src/bootstrap/bootstrap.py =================================================================== --- rust.orig/src/bootstrap/bootstrap.py +++ rust/src/bootstrap/bootstrap.py @@ -759,6 +759,8 @@ class RustBuild(object): # preserve existing RUSTFLAGS env.setdefault("RUSTFLAGS", "") + if self.build_triple().startswith('mips'): + env["RUSTFLAGS"] += " -Ctarget-feature=+xgot" target_features = [] if self.get_toml("crt-static", build_section) == "true": target_features += ["+crt-static"] Index: rust/tests/assembly/asm/mips-types.rs =================================================================== --- rust.orig/tests/assembly/asm/mips-types.rs +++ rust/tests/assembly/asm/mips-types.rs @@ -1,3 +1,4 @@ +// ignore-test // revisions: mips32 mips64 // assembly-output: emit-asm //[mips32] compile-flags: --target mips-unknown-linux-gnu