1 build/moz.configure/rust.configure | 2 +-
2 config/makefiles/rust.mk | 5 +++++
3 .../mozbuild/test/configure/test_toolchain_configure.py | 14 --------------
4 3 files changed, 6 insertions(+), 15 deletions(-)
5
6 diff --git c/build/moz.configure/rust.configure i/build/moz.configure/rust.configure
7 index aaa693059d95..c90ae5ca7b25 100644
8 --- c/build/moz.configure/rust.configure
9 +++ i/build/moz.configure/rust.configure
10 @@ -146,7 +146,7 @@ def rust_compiler(rustc_info, cargo_info, build_project):
11 or by directly running the installer from https://rustup.rs/
12 '''))
13 if build_project == 'tools/crashreporter':
14 - rustc_min_version = Version('1.31.0')
15 + rustc_min_version = Version('1.38.0')
16 else:
17 rustc_min_version = Version('1.43.0')
18 cargo_min_version = rustc_min_version
19 diff --git c/config/makefiles/rust.mk i/config/makefiles/rust.mk
20 index a9abcc9af4c0..b5c7973104ce 100644
21 --- c/config/makefiles/rust.mk
22 +++ i/config/makefiles/rust.mk
23 @@ -63,6 +63,11 @@ ifndef MOZ_DEBUG_RUST
24 ifeq (,$(findstring gkrust_gtest,$(RUST_LIBRARY_FILE)))
25 cargo_rustc_flags += -Clto
26 endif
27 +# Versions of rust >= 1.45 need -Cembed-bitcode=yes for all crates when
28 +# using -Clto.
29 +ifeq (,$(filter 1.38.% 1.39.% 1.40.% 1.41.% 1.42.% 1.43.% 1.44.%,$(RUSTC_VERSION)))
30 +RUSTFLAGS += -Cembed-bitcode=yes
31 +endif
32 endif
33 endif
34
35 diff --git c/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py i/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py
36 index e1921ece6865..759d4d98cc0d 100755
37 --- c/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py
38 +++ i/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py
39 @@ -1796,38 +1796,24 @@ class RustTest(BaseConfigureTest):
40 arm_arch=7, fpu='neon', thumb2=True, float_abi='softfp')),
41 'thumbv7neon-linux-androideabi')
42
43 - self.assertEqual(
44 - self.get_rust_target('arm-unknown-linux-androideabi',
45 - version='1.32.0',
46 - arm_target=ReadOnlyNamespace(
47 - arm_arch=7, fpu='neon', thumb2=True, float_abi='softfp')),
48 - 'armv7-linux-androideabi')
49 -
50 self.assertEqual(
51 self.get_rust_target('arm-unknown-linux-androideabi',
52 arm_target=ReadOnlyNamespace(
53 arm_arch=7, fpu='neon', thumb2=False, float_abi='softfp')),
54 'armv7-linux-androideabi')
55
56 self.assertEqual(
57 self.get_rust_target('arm-unknown-linux-androideabi',
58 arm_target=ReadOnlyNamespace(
59 arm_arch=7, fpu='vfpv2', thumb2=True, float_abi='softfp')),
60 'armv7-linux-androideabi')
61
62 self.assertEqual(
63 self.get_rust_target('armv7-unknown-linux-gnueabihf',
64 arm_target=ReadOnlyNamespace(
65 arm_arch=7, fpu='neon', thumb2=True, float_abi='hard')),
66 'thumbv7neon-unknown-linux-gnueabihf')
67
68 - self.assertEqual(
69 - self.get_rust_target('armv7-unknown-linux-gnueabihf',
70 - version='1.32.0',
71 - arm_target=ReadOnlyNamespace(
72 - arm_arch=7, fpu='neon', thumb2=True, float_abi='hard')),
73 - 'armv7-unknown-linux-gnueabihf')
74 -
75 self.assertEqual(
76 self.get_rust_target('armv7-unknown-linux-gnueabihf',
77 arm_target=ReadOnlyNamespace(
|