summaryrefslogtreecommitdiff
path: root/user/thunderbird/rust-32bit.patch
diff options
context:
space:
mode:
Diffstat (limited to 'user/thunderbird/rust-32bit.patch')
-rw-r--r--user/thunderbird/rust-32bit.patch30
1 files changed, 30 insertions, 0 deletions
diff --git a/user/thunderbird/rust-32bit.patch b/user/thunderbird/rust-32bit.patch
new file mode 100644
index 000000000..4829e44bf
--- /dev/null
+++ b/user/thunderbird/rust-32bit.patch
@@ -0,0 +1,30 @@
+LTO kills the build on 32-bit architectures.
+
+--- firefox-128.0/config/makefiles/rust.mk.old 2024-07-04 11:20:25.000000000 -0500
++++ firefox-128.0/config/makefiles/rust.mk 2024-08-04 03:20:25.375459833 -0500
+@@ -82,25 +82,6 @@
+ # These flags are passed via `cargo rustc` and only apply to the final rustc
+ # invocation (i.e., only the top-level crate, not its dependencies).
+ cargo_rustc_flags = $(CARGO_RUSTCFLAGS)
+-ifndef DEVELOPER_OPTIONS
+-ifndef MOZ_DEBUG_RUST
+-# Enable link-time optimization for release builds, but not when linking
+-# gkrust_gtest. And not when doing cross-language LTO.
+-ifndef MOZ_LTO_RUST_CROSS
+-# Never enable when sancov is enabled to work around https://github.com/rust-lang/rust/issues/90300.
+-ifndef rustflags_sancov
+-# Never enable when coverage is enabled to work around https://github.com/rust-lang/rust/issues/90045.
+-ifndef MOZ_CODE_COVERAGE
+-ifeq (,$(findstring gkrust_gtest,$(RUST_LIBRARY_FILE)))
+-cargo_rustc_flags += -Clto$(if $(filter full,$(MOZ_LTO_RUST_CROSS)),=fat)
+-endif
+-# We need -Cembed-bitcode=yes for all crates when using -Clto.
+-RUSTFLAGS += -Cembed-bitcode=yes
+-endif
+-endif
+-endif
+-endif
+-endif
+
+ ifdef CARGO_INCREMENTAL
+ export CARGO_INCREMENTAL