build/moz.configure/rust.configure | 2 +- config/makefiles/rust.mk | 5 +++++ .../mozbuild/test/configure/test_toolchain_configure.py | 14 -------------- 3 files changed, 6 insertions(+), 15 deletions(-) diff --git c/build/moz.configure/rust.configure i/build/moz.configure/rust.configure index aaa693059d95..c90ae5ca7b25 100644 --- c/build/moz.configure/rust.configure +++ i/build/moz.configure/rust.configure @@ -146,7 +146,7 @@ def rust_compiler(rustc_info, cargo_info, build_project): or by directly running the installer from https://rustup.rs/ ''')) if build_project == 'tools/crashreporter': - rustc_min_version = Version('1.31.0') + rustc_min_version = Version('1.38.0') else: rustc_min_version = Version('1.43.0') cargo_min_version = rustc_min_version diff --git c/config/makefiles/rust.mk i/config/makefiles/rust.mk index a9abcc9af4c0..b5c7973104ce 100644 --- c/config/makefiles/rust.mk +++ i/config/makefiles/rust.mk @@ -63,6 +63,11 @@ ifndef MOZ_DEBUG_RUST ifeq (,$(findstring gkrust_gtest,$(RUST_LIBRARY_FILE))) cargo_rustc_flags += -Clto endif +# Versions of rust >= 1.45 need -Cembed-bitcode=yes for all crates when +# using -Clto. +ifeq (,$(filter 1.38.% 1.39.% 1.40.% 1.41.% 1.42.% 1.43.% 1.44.%,$(RUSTC_VERSION))) +RUSTFLAGS += -Cembed-bitcode=yes +endif endif endif diff --git c/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py i/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py index e1921ece6865..759d4d98cc0d 100755 --- c/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py +++ i/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py @@ -1796,38 +1796,24 @@ class RustTest(BaseConfigureTest): arm_arch=7, fpu='neon', thumb2=True, float_abi='softfp')), 'thumbv7neon-linux-androideabi') - self.assertEqual( - self.get_rust_target('arm-unknown-linux-androideabi', - version='1.32.0', - arm_target=ReadOnlyNamespace( - arm_arch=7, fpu='neon', thumb2=True, float_abi='softfp')), - 'armv7-linux-androideabi') - self.assertEqual( self.get_rust_target('arm-unknown-linux-androideabi', arm_target=ReadOnlyNamespace( arm_arch=7, fpu='neon', thumb2=False, float_abi='softfp')), 'armv7-linux-androideabi') self.assertEqual( self.get_rust_target('arm-unknown-linux-androideabi', arm_target=ReadOnlyNamespace( arm_arch=7, fpu='vfpv2', thumb2=True, float_abi='softfp')), 'armv7-linux-androideabi') self.assertEqual( self.get_rust_target('armv7-unknown-linux-gnueabihf', arm_target=ReadOnlyNamespace( arm_arch=7, fpu='neon', thumb2=True, float_abi='hard')), 'thumbv7neon-unknown-linux-gnueabihf') - self.assertEqual( - self.get_rust_target('armv7-unknown-linux-gnueabihf', - version='1.32.0', - arm_target=ReadOnlyNamespace( - arm_arch=7, fpu='neon', thumb2=True, float_abi='hard')), - 'armv7-unknown-linux-gnueabihf') - self.assertEqual( self.get_rust_target('armv7-unknown-linux-gnueabihf', arm_target=ReadOnlyNamespace(