Compare commits

..

No commits in common. "rawhide" and "f27" have entirely different histories.

52 changed files with 4997 additions and 2250 deletions

308
.gitignore vendored
View file

@ -220,311 +220,3 @@ thunderbird-langpacks-3.1.2-20100803.tar.bz2
/thunderbird-60.3.1.source.tar.xz
/thunderbird-langpacks-60.3.1-20181122.tar.xz
/lightning-langpacks-60.3.1.tar.xz
/thunderbird-60.3.3.source.tar.xz
/thunderbird-langpacks-60.3.3-20181205.tar.xz
/lightning-langpacks-60.3.3.tar.xz
/thunderbird-60.4.0.source.tar.xz
/thunderbird-langpacks-60.4.0-20190102.tar.xz
/lightning-langpacks-60.4.0.tar.xz
/thunderbird-60.5.0.source.tar.xz
/lightning-langpacks-60.5.0.tar.xz
/thunderbird-langpacks-60.5.0-20190129.tar.xz
/thunderbird-60.5.1.source.tar.xz
/thunderbird-langpacks-60.5.1-20190218.tar.xz
/lightning-langpacks-60.5.1.tar.xz
/thunderbird-60.5.3.source.tar.xz
/lightning-langpacks-60.5.3.tar.xz
/thunderbird-langpacks-60.5.3-20190306.tar.xz
/thunderbird-langpacks-60.6.0-20190318.tar.xz
/thunderbird-60.6.0.source.tar.xz
/lightning-langpacks-60.6.0.tar.xz
/thunderbird-60.6.1.source.tar.xz
/lightning-langpacks-60.6.1.tar.xz
/thunderbird-langpacks-60.6.1-20190325.tar.xz
/thunderbird-60.7.0.source.tar.xz
/thunderbird-langpacks-60.7.0-20190520.tar.xz
/lightning-langpacks-60.7.0.tar.xz
/thunderbird-60.7.1.source.tar.xz
/thunderbird-langpacks-60.7.1-20190618.tar.xz
/lightning-langpacks-60.7.1.tar.xz
/thunderbird-60.7.2.source.tar.xz
/thunderbird-langpacks-60.7.2-20190620.tar.xz
/lightning-langpacks-60.7.2.tar.xz
/thunderbird-langpacks-60.7.2-20190621.tar.xz
/thunderbird-60.8.0.source.tar.xz
/thunderbird-langpacks-60.8.0-20190704.tar.xz
/lightning-langpacks-60.8.0.tar.xz
/thunderbird-68.0.source.tar.xz
/thunderbird-langpacks-68.0-20190829.tar.xz
/lightning-langpacks-68.0.tar.xz
/cbindgen-vendor.tar.xz
/thunderbird-68.1.0.source.tar.xz
/thunderbird-langpacks-68.1.0-20190912.tar.xz
/lightning-langpacks-68.1.0.tar.xz
/thunderbird-68.1.1.source.tar.xz
/thunderbird-langpacks-68.1.1-20190927.tar.xz
/lightning-langpacks-68.1.1.tar.xz
/thunderbird-68.2.0.source.tar.xz
/thunderbird-langpacks-68.2.0-20191029.tar.xz
/lightning-langpacks-68.2.0.tar.xz
/thunderbird-68.2.1.source.tar.xz
/thunderbird-langpacks-68.2.1-20191101.tar.xz
/lightning-langpacks-68.2.1.tar.xz
/thunderbird-68.2.2.source.tar.xz
/thunderbird-langpacks-68.2.2-20191105.tar.xz
/lightning-langpacks-68.2.2.tar.xz
/thunderbird-68.3.0.source.tar.xz
/thunderbird-langpacks-68.3.0-20191203.tar.xz
/lightning-langpacks-68.3.0.tar.xz
/thunderbird-68.3.1.source.tar.xz
/thunderbird-langpacks-68.3.1-20191217.tar.xz
/lightning-langpacks-68.3.1.tar.xz
/thunderbird-68.4.1.source.tar.xz
/thunderbird-langpacks-68.4.1-20200113.tar.xz
/lightning-langpacks-68.4.1.tar.xz
/thunderbird-68.5.0.source.tar.xz
/thunderbird-langpacks-68.5.0-20200213.tar.xz
/lightning-langpacks-68.5.0.tar.xz
/thunderbird-68.6.0.source.tar.xz
/thunderbird-langpacks-68.6.0-20200313.tar.xz
/lightning-langpacks-68.6.0.tar.xz
/thunderbird-68.7.0.source.tar.xz
/thunderbird-langpacks-68.7.0-20200409.tar.xz
/lightning-langpacks-68.7.0.tar.xz
/thunderbird-68.8.0.source.tar.xz
/thunderbird-langpacks-68.8.0-20200514.tar.xz
/lightning-langpacks-68.8.0.tar.xz
/thunderbird-68.9.0.source.tar.xz
/thunderbird-langpacks-68.9.0-20200608.tar.xz
/lightning-langpacks-68.9.0.tar.xz
/thunderbird-68.10.0.source.tar.xz
/thunderbird-langpacks-68.10.0-20200709.tar.xz
/lightning-langpacks-68.10.0.tar.xz
/thunderbird-68.11.0.source.tar.xz
/thunderbird-langpacks-68.11.0-20200806.tar.xz
/lightning-langpacks-68.11.0.tar.xz
/thunderbird-68.12.0.source.tar.xz
/thunderbird-langpacks-68.12.0-20200908.tar.xz
/lightning-langpacks-68.12.0.tar.xz
/thunderbird-78.3.1.source.tar.xz
/thunderbird-langpacks-78.3.1-20200930.tar.xz
/cbindgen-vendor-0.14.3.tar.xz
/thunderbird-78.4.0.source.tar.xz
/thunderbird-langpacks-78.4.0-20201022.tar.xz
/thunderbird-78.4.3.source.tar.xz
/thunderbird-langpacks-78.4.3-20201112.tar.xz
/thunderbird-78.5.0.source.tar.xz
/thunderbird-langpacks-78.5.0-20201125.tar.xz
/thunderbird-78.6.0.source.tar.xz
/thunderbird-langpacks-78.6.0-20201215.tar.xz
/thunderbird-78.6.1.source.tar.xz
/thunderbird-langpacks-78.6.1-20210114.tar.xz
/thunderbird-78.7.0.source.tar.xz
/thunderbird-langpacks-78.7.0-20210127.tar.xz
/thunderbird-78.8.0.source.tar.xz
/thunderbird-langpacks-78.8.0-20210218.tar.xz
/thunderbird-78.8.1.source.tar.xz
/thunderbird-langpacks-78.8.1-20210315.tar.xz
/thunderbird-78.10.1.source.tar.xz
/thunderbird-langpacks-78.10.1-20210504.tar.xz
/thunderbird-78.11.0.source.tar.xz
/thunderbird-langpacks-78.11.0-20210602.tar.xz
/thunderbird-78.12.0.source.tar.xz
/thunderbird-langpacks-78.12.0-20210721.tar.xz
/thunderbird-91.0.2.source.tar.xz
/thunderbird-langpacks-91.0.2-20210823.tar.xz
/thunderbird-91.0.3.source.tar.xz
/thunderbird-langpacks-91.0.3-20210826.tar.xz
/thunderbird-91.1.0.source.tar.xz
/thunderbird-langpacks-91.1.0-20210907.tar.xz
/thunderbird-91.2.0.source.tar.xz
/thunderbird-langpacks-91.2.0-20211015.tar.xz
/thunderbird-91.3.0.source.tar.xz
/thunderbird-langpacks-91.3.0-20211109.tar.xz
/thunderbird-91.4.0.source.tar.xz
/thunderbird-langpacks-91.4.0-20211215.tar.xz
/thunderbird-91.5.0.source.tar.xz
/thunderbird-langpacks-91.5.0-20220118.tar.xz
/thunderbird-91.6.0.source.tar.xz
/thunderbird-langpacks-91.6.0-20220209.tar.xz
/thunderbird-91.6.1.source.tar.xz
/thunderbird-langpacks-91.6.1-20220228.tar.xz
/thunderbird-langpacks-91.6.2-20220307.tar.xz
/thunderbird-91.6.2.source.tar.xz
/thunderbird-langpacks-91.7.0-20220308.tar.xz
/thunderbird-91.7.0.source.tar.xz
/thunderbird-91.8.0.source.tar.xz
/thunderbird-langpacks-91.8.0-20220405.tar.xz
/thunderbird-91.9.0.source.tar.xz
/thunderbird-langpacks-91.9.0-20220503.tar.xz
/thunderbird-91.9.1.source.tar.xz
/thunderbird-langpacks-91.9.1-20220523.tar.xz
/thunderbird-91.10.0.source.tar.xz
/thunderbird-langpacks-91.10.0-20220530.tar.xz
/thunderbird-91.11.0.source.tar.xz
/thunderbird-langpacks-91.11.0-20220628.tar.xz
/thunderbird-91.12.0.source.tar.xz
/thunderbird-langpacks-91.12.0-20220725.tar.xz
/thunderbird-102.1.0.source.tar.xz
/thunderbird-langpacks-102.1.0-20220803.tar.xz
/thunderbird-102.2.0.source.tar.xz
/thunderbird-langpacks-102.2.0-20220823.tar.xz
/thunderbird-102.2.1.source.tar.xz
/thunderbird-langpacks-102.2.1-20220901.tar.xz
/thunderbird-102.3.0.source.tar.xz
/thunderbird-langpacks-102.3.0-20220916.tar.xz
/thunderbird-102.3.1.source.tar.xz
/thunderbird-langpacks-102.3.1-20220929.tar.xz
/thunderbird-102.4.0.source.tar.xz
/thunderbird-langpacks-102.4.0-20221017.tar.xz
/thunderbird-102.4.1.source.tar.xz
/thunderbird-langpacks-102.4.1-20221102.tar.xz
/thunderbird-102.5.0.source.tar.xz
/thunderbird-langpacks-102.5.0-20221115.tar.xz
/thunderbird-102.5.1.source.tar.xz
/thunderbird-langpacks-102.5.1-20221201.tar.xz
/thunderbird-102.6.0.source.tar.xz
/thunderbird-langpacks-102.6.0-20221213.tar.xz
/thunderbird-102.7.1.source.tar.xz
/thunderbird-langpacks-102.7.1-20230124.tar.xz
/thunderbird-langpacks-102.7.1-20230131.tar.xz
/thunderbird-102.7.2.source.tar.xz
/thunderbird-langpacks-102.7.2-20230208.tar.xz
/thunderbird-102.8.0.source.tar.xz
/thunderbird-langpacks-102.8.0-20230215.tar.xz
/thunderbird-102.9.0.source.tar.xz
/thunderbird-langpacks-102.9.0-20230313.tar.xz
/thunderbird-102.9.1.source.tar.xz
/thunderbird-langpacks-102.9.1-20230329.tar.xz
/thunderbird-102.10.0.source.tar.xz
/thunderbird-langpacks-102.10.0-20230411.tar.xz
/thunderbird-102.11.0.source.tar.xz
/thunderbird-langpacks-102.11.0-20230504.tar.xz
/thunderbird-102.11.1.source.tar.xz
/thunderbird-langpacks-102.11.1-20230525.tar.xz
/thunderbird-102.12.0.source.tar.xz
/thunderbird-langpacks-102.12.0-20230605.tar.xz
/thunderbird-102.13.0.source.tar.xz
/thunderbird-langpacks-102.13.0-20230707.tar.xz
/thunderbird-langpacks-115.0.1-20230720.tar.xz
/thunderbird-115.0.1.source.tar.xz
/thunderbird-langpacks-115.1.1-20230815.tar.xz
/thunderbird-115.1.1.source.tar.xz
/thunderbird-115.2.2.source.tar.xz
/thunderbird-langpacks-115.2.2-20230920.tar.xz
/thunderbird-115.3.0.source.tar.xz
/thunderbird-langpacks-115.3.0-20230926.tar.xz
/thunderbird-langpacks-115.3.1-20230929.tar.xz
/thunderbird-115.3.1.source.tar.xz
/thunderbird-115.3.2.source.tar.xz
/thunderbird-langpacks-115.3.2-20231011.tar.xz
/thunderbird-115.4.0.source.tar.xz
/thunderbird-langpacks-115.4.0-20231024.tar.xz
/thunderbird-115.4.1.source.tar.xz
/thunderbird-langpacks-115.4.1-20231025.tar.xz
/thunderbird-115.4.2.source.tar.xz
/thunderbird-langpacks-115.4.2-20231108.tar.xz
/thunderbird-115.4.3.source.tar.xz
/thunderbird-langpacks-115.4.3-20231115.tar.xz
/thunderbird-115.5.0.source.tar.xz
/thunderbird-langpacks-115.5.0-20231121.tar.xz
/thunderbird-115.5.1.source.tar.xz
/thunderbird-langpacks-115.5.1-20231128.tar.xz
/thunderbird-115.5.2.source.tar.xz
/thunderbird-langpacks-115.5.2-20231212.tar.xz
/thunderbird-115.6.0.source.tar.xz
/thunderbird-langpacks-115.6.0-20231218.tar.xz
/thunderbird-115.6.1.source.tar.xz
/thunderbird-langpacks-115.6.1-20240110.tar.xz
/thunderbird-115.7.0.source.tar.xz
/thunderbird-langpacks-115.7.0-20240122.tar.xz
/thunderbird-115.8.0.source.tar.xz
/thunderbird-langpacks-115.8.0-20240219.tar.xz
/thunderbird-115.8.1.source.tar.xz
/thunderbird-langpacks-115.8.1-20240305.tar.xz
/thunderbird-115.10.0.source.tar.xz
/thunderbird-langpacks-115.10.0-20240415.tar.xz
/thunderbird-115.10.1.source.tar.xz
/thunderbird-langpacks-115.10.1-20240422.tar.xz
/thunderbird-115.11.0.source.tar.xz
/thunderbird-langpacks-115.11.0-20240513.tar.xz
/thunderbird-115.11.1.source.tar.xz
/thunderbird-langpacks-115.11.1-20240529.tar.xz
/thunderbird-115.11.2.source.tar.xz
/thunderbird-langpacks-115.11.2-20240603.tar.xz
/thunderbird-115.12.0.source.tar.xz
/thunderbird-langpacks-115.12.0-20240611.tar.xz
/thunderbird-115.12.1.source.tar.xz
/thunderbird-langpacks-115.12.1-20240618.tar.xz
/thunderbird-115.13.0.source.tar.xz
/thunderbird-langpacks-115.13.0-20240716.tar.xz
/thunderbird-128.0esr.source.tar.xz
/thunderbird-langpacks-128.0esr-20240717.tar.xz
/thunderbird-128.1.0esr.source.tar.xz
/thunderbird-langpacks-128.1.0esr-20240806.tar.xz
/thunderbird-128.2.0esr.source.tar.xz
/thunderbird-langpacks-128.2.0esr-20240905.tar.xz
/thunderbird-128.3.0esr.source.tar.xz
/thunderbird-langpacks-128.3.0esr-20240930.tar.xz
/thunderbird-128.3.1esr.source.tar.xz
/thunderbird-langpacks-128.3.1esr-20241009.tar.xz
/thunderbird-128.3.2esr.source.tar.xz
/thunderbird-langpacks-128.3.2esr-20241017.tar.xz
/thunderbird-128.3.3esr.source.tar.xz
/thunderbird-langpacks-128.3.3esr-20241022.tar.xz
/thunderbird-128.4.0esr.source.tar.xz
/thunderbird-langpacks-128.4.0esr-20241028.tar.xz
/thunderbird-128.4.2esr.source.tar.xz
/thunderbird-langpacks-128.4.2esr-20241107.tar.xz
/thunderbird-128.4.3esr.source.tar.xz
/thunderbird-langpacks-128.4.3esr-20241113.tar.xz
/thunderbird-128.5.0esr.source.tar.xz
/thunderbird-langpacks-128.5.0esr-20241126.tar.xz
/thunderbird-128.5.2esr.source.tar.xz
/thunderbird-langpacks-128.5.2esr-20241211.tar.xz
/thunderbird-128.6.0esr.source.tar.xz
/thunderbird-langpacks-128.6.0esr-20250108.tar.xz
/thunderbird-128.6.1esr.source.tar.xz
/thunderbird-langpacks-128.6.1esr-20250128.tar.xz
/thunderbird-128.7.1esr.source.tar.xz
/thunderbird-langpacks-128.7.1esr-20250219.tar.xz
/thunderbird-128.8.0esr.source.tar.xz
/thunderbird-langpacks-128.8.0esr-20250305.tar.xz
/thunderbird-128.9.0esr.source.tar.xz
/thunderbird-langpacks-128.9.0esr-20250331.tar.xz
/thunderbird-128.9.2esr.source.tar.xz
/thunderbird-langpacks-128.9.2esr-20250416.tar.xz
/thunderbird-128.10.0esr.source.tar.xz
/thunderbird-langpacks-128.10.0esr-20250428.tar.xz
/thunderbird-128.10.1esr.source.tar.xz
/thunderbird-langpacks-128.10.1esr-20250519.tar.xz
/thunderbird-128.10.2esr.source.tar.xz
/thunderbird-langpacks-128.10.2esr-20250521.tar.xz
/thunderbird-128.11.0esr.source.tar.xz
/thunderbird-langpacks-128.11.0esr-20250526.tar.xz
/thunderbird-128.11.1esr.source.tar.xz
/thunderbird-langpacks-128.11.1esr-20250611.tar.xz
/thunderbird-128.12.0esr.source.tar.xz
/thunderbird-langpacks-128.12.0esr-20250630.tar.xz
/thunderbird-128.13.0esr.source.tar.xz
/thunderbird-langpacks-128.13.0esr-20250723.tar.xz
/thunderbird-140.1.0esr.source.tar.xz
/thunderbird-langpacks-140.1.0esr-20250731.tar.xz
/thunderbird-140.2.1esr.source.tar.xz
/thunderbird-langpacks-140.2.1esr-20250904.tar.xz
/thunderbird-langpacks-140.3.0esr-20250924.tar.xz
/thunderbird-140.3.0esr.source.tar.xz
/thunderbird-143.0.1.source.tar.xz
/thunderbird-langpacks-143.0.1-20251002.tar.xz
/thunderbird-144.0.source.tar.xz
/thunderbird-langpacks-144.0-20251016.tar.xz
/thunderbird-144.0.1.source.tar.xz
/thunderbird-langpacks-144.0.1-20251021.tar.xz
/thunderbird-145.0.source.tar.xz
/thunderbird-langpacks-145.0-20251119.tar.xz
/thunderbird-146.0.source.tar.xz
/thunderbird-langpacks-146.0-20251215.tar.xz
/thunderbird-146.0.1.source.tar.xz
/thunderbird-langpacks-146.0.1-20251218.tar.xz
/thunderbird-147.0.source.tar.xz
/thunderbird-langpacks-147.0-20260114.tar.xz

View file

@ -1,23 +0,0 @@
diff -up thunderbird-128.1.0/build/unix/stdc++compat/stdc++compat.cpp.0001-GLIBCXX-fix-for-GCC-12 thunderbird-128.1.0/build/unix/stdc++compat/stdc++compat.cpp
--- thunderbird-128.1.0/build/unix/stdc++compat/stdc++compat.cpp.0001-GLIBCXX-fix-for-GCC-12 2024-08-09 12:24:05.444162943 +0200
+++ thunderbird-128.1.0/build/unix/stdc++compat/stdc++compat.cpp 2024-08-09 12:24:05.460162972 +0200
@@ -83,6 +83,19 @@ __glibcxx_assert_fail(const char* __file
} // namespace std
#endif
+#if _GLIBCXX_RELEASE >= 12
+namespace std {
+
+/* This avoids the GLIBCXX_3.4.30 symbol version. */
+void __attribute__((weak))
+__glibcxx_assert_fail(const char* __file, int __line, const char* __function,
+ const char* __condition) {
+ MOZ_CRASH();
+}
+
+} // namespace std
+#endif
+
/* While we generally don't build with exceptions, we have some host tools
* that do use them. libstdc++ from GCC 5.0 added exception constructors with
* char const* argument. Older versions only have a constructor with

View file

@ -0,0 +1,19 @@
diff -up firefox-60.0/mfbt/LinuxSignal.h.mozilla-1238661 firefox-60.0/mfbt/LinuxSignal.h
--- firefox-60.0/mfbt/LinuxSignal.h.mozilla-1238661 2018-04-27 08:55:38.848241768 +0200
+++ firefox-60.0/mfbt/LinuxSignal.h 2018-04-27 09:06:47.946769859 +0200
@@ -25,10 +25,13 @@ SignalTrampoline(int aSignal, siginfo_t*
"nop; nop; nop; nop"
: : : "memory");
+ // Because the assembler may generate additional insturctions below, we
+ // need to ensure NOPs are inserted first by separating them out above.
+
asm volatile (
- "b %0"
+ "bx %0"
:
- : "X"(H)
+ : "r"(H), "l"(aSignal), "l"(aInfo), "l"(aContext)
: "memory");
}

View file

@ -1,171 +0,0 @@
diff -up thunderbird-68.3.0/third_party/rust/bindgen/.cargo-checksum.json.bindgen thunderbird-68.3.0/third_party/rust/bindgen/.cargo-checksum.json
--- thunderbird-68.3.0/third_party/rust/bindgen/.cargo-checksum.json.bindgen 2019-12-01 15:29:26.000000000 +0100
+++ thunderbird-68.3.0/third_party/rust/bindgen/.cargo-checksum.json 2019-12-04 11:38:42.878975886 +0100
@@ -1 +1 @@
-{"files":{"Cargo.toml":"9af635e7bad9021a49742a312faf6178b757dbd48aabc998931d6f491f14c179","LICENSE":"c23953d9deb0a3312dbeaf6c128a657f3591acee45067612fa68405eaa4525db","README.md":"5a1f556c6a57c0a6ccc65e19c27718e0f4b32381a8efcc80f6601b33c58c5d59","build.rs":"a9f6915c54d75f357ce32f96327bf4df53dc81a505b70831978f9dac6f43841d","src/callbacks.rs":"b24d7982332c6a35928f134184ddf4072fe4545a45546b97b9b0e0c1fbb77c08","src/clang.rs":"e9203eb5a1b432efebafcd011896e35e8c9145037bf99e7bb3709dc1b8e8e783","src/codegen/bitfield_unit.rs":"88b0604322dc449fc9284850eadc1f5d14b42fa747d4258bae0b6b9535f52dfd","src/codegen/bitfield_unit_tests.rs":"2073ac6a36e0bc9afaef5b1207966817c8fb7a1a9f6368c3b1b8f79822efbfba","src/codegen/error.rs":"2613af1d833377fd4a70719f4a09951d9d45dc9227827b9a2a938a1bcaaea2dd","src/codegen/helpers.rs":"fbd23e68dd51ccaddeb9761394d5df2db49baded0e2dccf6bbc52a2d6de502eb","src/codegen/impl_debug.rs":"f82969461d522fb758eca552ceaf189122a404cbb47fcc16008bfe52fc62aefa","src/codegen/impl_partialeq.rs":"d40d9ee2849c4d3d557b033c4d3af5e6de4a44347f67c0f016198086338811af","src/codegen/mod.rs":"238d989e13b7556e5d120a2bfe85b43332fba56cbe8df886d4c32e650fff1247","src/codegen/struct_layout.rs":"3fa5524aff82365ce292b0cc85080514c85a6dbd31bce90f001773b995dda28e","src/extra_assertions.rs":"494534bd4f18b80d89b180c8a93733e6617edcf7deac413e9a73fd6e7bc9ced7","src/features.rs":"c5fd7149f4a3b41fd4f89ade08505170942f4bc791bcb6a34fdddd3ae61856f8","src/ir/analysis/derive.rs":"325d4c1c1e6194e743f42a2316f1501b0ef852fe309f2e9cac3434825ad235f0","src/ir/analysis/has_destructor.rs":"63644f479738df35e531d3324ff892614083c3656e0747aa34d9f20dada878ec","src/ir/analysis/has_float.rs":"76162a309e4285a806755a08c687a3e7bc894a100a63da4e88584035e215b11d","src/ir/analysis/has_type_param_in_array.rs":"fdbc0af28a144c88ea2de83e6e6da5e1ffb40e3dd63fd7a708095d085bb06f94","src/ir/analysis/has_vtable.rs":"5788372d27bdbaaf0454bc17be31a5480918bc41a8a1c4832e8c61185c07f9cd","src/ir/analysis/mod.rs":"1f218e15c19f6666512908abc853fa7ff9ca5d0fafd94f026d9e4b0ce287ec3c","src/ir/analysis/sizedness.rs":"8dc10043d872e68e660ef96edca4d9733f95be45cdad4893462fa929b335014f","src/ir/analysis/template_params.rs":"6312c008bbc80f50e72a766756c8daddea0b6eeb31ec924b83a231df931e170e","src/ir/annotations.rs":"39a5ab19f4d5dfa617577e4a0d0d2b67b5369d480c7cca4b14d172458c9843f0","src/ir/comment.rs":"c48abe01c5af0f09f583a89f1394bc6c161b40f6c8f0f600bbfe3c907b47969b","src/ir/comp.rs":"ca439407faefbe3a198246f0a1dbdf4e40307e45eaaad317e85d1aab37bb31fc","src/ir/context.rs":"599226eb04d337a1b1b13af91af91bdb02dbd5f26f274cbc0ebc4489eb144fc0","src/ir/derive.rs":"34f9aa76b6c9c05136bb69dcd6455397faef571a567254d2c541d50a962994db","src/ir/dot.rs":"95ed2968fc3239d87892e9f1edf1ed6dd18630d949564961765967ea1d16960c","src/ir/enum_ty.rs":"9cc242d6b3c1866665594e8b306860ee39c0ea42d22198d46b7fded473fe3e84","src/ir/function.rs":"2d41d9df19f42b0c383f338be4c026c005853a8d1caf5f3e5a2f3a8dad202232","src/ir/int.rs":"07e0c7dbd2dd977177fae3acd2a14adf271c6cf9ff4b57cddc11d50734fd4801","src/ir/item.rs":"3bcdb69b793350e5744aec3577cdbb1e5068ece5220c38763cecd82dfb5e8f03","src/ir/item_kind.rs":"dbeae8c4fd0e5c9485d325aea040e056a1f2cd6d43fc927dee8fe1c0c59a7197","src/ir/layout.rs":"d49582081f5f86f7595afbe4845f38fb3b969a840b568f4a49b265e7d790bb5b","src/ir/mod.rs":"2eae90f207fad2e45957ec9287064992a419e3fc916aba84faff2ea25cbeb5ee","src/ir/module.rs":"c4d90bf38fe3672e01923734ccbdb7951ea929949d5f413a9c2aee12395a5094","src/ir/objc.rs":"758aa955a0c5d6ad82606c88a1f4cd1d93e666b71e82d43b18b1aaae96cf888a","src/ir/template.rs":"c0f8570b927dfd6a421fc4ce3094ec837a3ed936445225dbfac961e8e0842ae5","src/ir/traversal.rs":"ea751379a5aec02f93f8d2c61e18232776b1f000dbeae64b9a7195ba21a19dd6","src/ir/ty.rs":"952fb04cd6a71a2bca5c509aecacb42a1de0cae75824941541a38dc589f0993a","src/ir/var.rs":"8bdafb6d02f2c55ae11c28d88b19fb7a65ba8466da12ff039ae4c16c790b291e","src/lib.rs":"d5c8b404c515d30fc2d78b28eb84cff6b256f1f1e2dbd6aca280529bb2af6879","src/log_stubs.rs":"6dfdd908b7c6453da416cf232893768f9480e551ca4add0858ef88bf71ee6ceb","src/main.rs":"e519053bcdde6bc88f60f955246a02d53b3db1cc5ccd1612e6675b790b7460b0","src/options.rs":"041d635c8f6712ca32676a68f06d0245faed5577d9513786e058540ea2a69a7f","src/parse.rs":"be7d13cc84fae79ec7b3aa9e77063fa475a48d74a854423e2c72d75006a25202","src/regex_set.rs":"5cb72fc3714c0d79e9e942d003349c0775fafd7cd0c9603c65f5261883bbf9cf","src/time.rs":"3b763e6fee51d0eb01228dfe28bc28a9f692aff73b2a7b90a030902e0238fca6"},"package":"6bd7710ac8399ae1ebe1e3aac7c9047c4f39f2c94b33c997f482f49e96991f7c"}
\ No newline at end of file
+{"files":{"Cargo.toml":"9af635e7bad9021a49742a312faf6178b757dbd48aabc998931d6f491f14c179","LICENSE":"c23953d9deb0a3312dbeaf6c128a657f3591acee45067612fa68405eaa4525db","README.md":"5a1f556c6a57c0a6ccc65e19c27718e0f4b32381a8efcc80f6601b33c58c5d59","build.rs":"a9f6915c54d75f357ce32f96327bf4df53dc81a505b70831978f9dac6f43841d","src/callbacks.rs":"b24d7982332c6a35928f134184ddf4072fe4545a45546b97b9b0e0c1fbb77c08","src/clang.rs":"e9203eb5a1b432efebafcd011896e35e8c9145037bf99e7bb3709dc1b8e8e783","src/codegen/bitfield_unit.rs":"88b0604322dc449fc9284850eadc1f5d14b42fa747d4258bae0b6b9535f52dfd","src/codegen/bitfield_unit_tests.rs":"2073ac6a36e0bc9afaef5b1207966817c8fb7a1a9f6368c3b1b8f79822efbfba","src/codegen/error.rs":"2613af1d833377fd4a70719f4a09951d9d45dc9227827b9a2a938a1bcaaea2dd","src/codegen/helpers.rs":"fbd23e68dd51ccaddeb9761394d5df2db49baded0e2dccf6bbc52a2d6de502eb","src/codegen/impl_debug.rs":"f82969461d522fb758eca552ceaf189122a404cbb47fcc16008bfe52fc62aefa","src/codegen/impl_partialeq.rs":"d40d9ee2849c4d3d557b033c4d3af5e6de4a44347f67c0f016198086338811af","src/codegen/mod.rs":"238d989e13b7556e5d120a2bfe85b43332fba56cbe8df886d4c32e650fff1247","src/codegen/struct_layout.rs":"3fa5524aff82365ce292b0cc85080514c85a6dbd31bce90f001773b995dda28e","src/extra_assertions.rs":"494534bd4f18b80d89b180c8a93733e6617edcf7deac413e9a73fd6e7bc9ced7","src/features.rs":"c5fd7149f4a3b41fd4f89ade08505170942f4bc791bcb6a34fdddd3ae61856f8","src/ir/analysis/derive.rs":"325d4c1c1e6194e743f42a2316f1501b0ef852fe309f2e9cac3434825ad235f0","src/ir/analysis/has_destructor.rs":"63644f479738df35e531d3324ff892614083c3656e0747aa34d9f20dada878ec","src/ir/analysis/has_float.rs":"76162a309e4285a806755a08c687a3e7bc894a100a63da4e88584035e215b11d","src/ir/analysis/has_type_param_in_array.rs":"fdbc0af28a144c88ea2de83e6e6da5e1ffb40e3dd63fd7a708095d085bb06f94","src/ir/analysis/has_vtable.rs":"8c92a52c0f859c7bec7bfbc36b9d18f904baab0c8c9dc1b3e7af34de1a0b0da4","src/ir/analysis/mod.rs":"1f218e15c19f6666512908abc853fa7ff9ca5d0fafd94f026d9e4b0ce287ec3c","src/ir/analysis/sizedness.rs":"71f1a37f75b971ea5b0d8457473cc410947dbf706cb6d2c0338916910b78a675","src/ir/analysis/template_params.rs":"6312c008bbc80f50e72a766756c8daddea0b6eeb31ec924b83a231df931e170e","src/ir/annotations.rs":"39a5ab19f4d5dfa617577e4a0d0d2b67b5369d480c7cca4b14d172458c9843f0","src/ir/comment.rs":"c48abe01c5af0f09f583a89f1394bc6c161b40f6c8f0f600bbfe3c907b47969b","src/ir/comp.rs":"ca439407faefbe3a198246f0a1dbdf4e40307e45eaaad317e85d1aab37bb31fc","src/ir/context.rs":"599226eb04d337a1b1b13af91af91bdb02dbd5f26f274cbc0ebc4489eb144fc0","src/ir/derive.rs":"e5581852eec87918901a129284b4965aefc8a19394187a8095779a084f28fabe","src/ir/dot.rs":"95ed2968fc3239d87892e9f1edf1ed6dd18630d949564961765967ea1d16960c","src/ir/enum_ty.rs":"9cc242d6b3c1866665594e8b306860ee39c0ea42d22198d46b7fded473fe3e84","src/ir/function.rs":"2d41d9df19f42b0c383f338be4c026c005853a8d1caf5f3e5a2f3a8dad202232","src/ir/int.rs":"07e0c7dbd2dd977177fae3acd2a14adf271c6cf9ff4b57cddc11d50734fd4801","src/ir/item.rs":"3bcdb69b793350e5744aec3577cdbb1e5068ece5220c38763cecd82dfb5e8f03","src/ir/item_kind.rs":"dbeae8c4fd0e5c9485d325aea040e056a1f2cd6d43fc927dee8fe1c0c59a7197","src/ir/layout.rs":"d49582081f5f86f7595afbe4845f38fb3b969a840b568f4a49b265e7d790bb5b","src/ir/mod.rs":"2eae90f207fad2e45957ec9287064992a419e3fc916aba84faff2ea25cbeb5ee","src/ir/module.rs":"c4d90bf38fe3672e01923734ccbdb7951ea929949d5f413a9c2aee12395a5094","src/ir/objc.rs":"758aa955a0c5d6ad82606c88a1f4cd1d93e666b71e82d43b18b1aaae96cf888a","src/ir/template.rs":"c0f8570b927dfd6a421fc4ce3094ec837a3ed936445225dbfac961e8e0842ae5","src/ir/traversal.rs":"ea751379a5aec02f93f8d2c61e18232776b1f000dbeae64b9a7195ba21a19dd6","src/ir/ty.rs":"952fb04cd6a71a2bca5c509aecacb42a1de0cae75824941541a38dc589f0993a","src/ir/var.rs":"8bdafb6d02f2c55ae11c28d88b19fb7a65ba8466da12ff039ae4c16c790b291e","src/lib.rs":"d5c8b404c515d30fc2d78b28eb84cff6b256f1f1e2dbd6aca280529bb2af6879","src/log_stubs.rs":"6dfdd908b7c6453da416cf232893768f9480e551ca4add0858ef88bf71ee6ceb","src/main.rs":"e519053bcdde6bc88f60f955246a02d53b3db1cc5ccd1612e6675b790b7460b0","src/options.rs":"041d635c8f6712ca32676a68f06d0245faed5577d9513786e058540ea2a69a7f","src/parse.rs":"be7d13cc84fae79ec7b3aa9e77063fa475a48d74a854423e2c72d75006a25202","src/regex_set.rs":"5cb72fc3714c0d79e9e942d003349c0775fafd7cd0c9603c65f5261883bbf9cf","src/time.rs":"3b763e6fee51d0eb01228dfe28bc28a9f692aff73b2a7b90a030902e0238fca6"},"package":"6bd7710ac8399ae1ebe1e3aac7c9047c4f39f2c94b33c997f482f49e96991f7c"}
diff -up thunderbird-68.3.0/third_party/rust/bindgen/src/ir/analysis/has_vtable.rs.bindgen thunderbird-68.3.0/third_party/rust/bindgen/src/ir/analysis/has_vtable.rs
--- thunderbird-68.3.0/third_party/rust/bindgen/src/ir/analysis/has_vtable.rs.bindgen 2019-12-01 15:29:26.000000000 +0100
+++ thunderbird-68.3.0/third_party/rust/bindgen/src/ir/analysis/has_vtable.rs 2019-12-04 11:33:09.631921359 +0100
@@ -9,17 +9,17 @@ use std::ops;
use {HashMap, Entry};
/// The result of the `HasVtableAnalysis` for an individual item.
-#[derive(Copy, Clone, Debug, PartialEq, Eq, Ord)]
+#[derive(Copy, Clone, Debug, PartialEq, Eq, PartialOrd, Ord)]
pub enum HasVtableResult {
- /// The item has a vtable, but the actual vtable pointer is in a base
- /// member.
- BaseHasVtable,
+ /// The item does not have a vtable pointer.
+ No,
/// The item has a vtable and the actual vtable pointer is within this item.
SelfHasVtable,
- /// The item does not have a vtable pointer.
- No
+ /// The item has a vtable, but the actual vtable pointer is in a base
+ /// member.
+ BaseHasVtable,
}
impl Default for HasVtableResult {
@@ -28,21 +28,6 @@ impl Default for HasVtableResult {
}
}
-impl cmp::PartialOrd for HasVtableResult {
- fn partial_cmp(&self, rhs: &Self) -> Option<cmp::Ordering> {
- use self::HasVtableResult::*;
-
- match (*self, *rhs) {
- (x, y) if x == y => Some(cmp::Ordering::Equal),
- (BaseHasVtable, _) => Some(cmp::Ordering::Greater),
- (_, BaseHasVtable) => Some(cmp::Ordering::Less),
- (SelfHasVtable, _) => Some(cmp::Ordering::Greater),
- (_, SelfHasVtable) => Some(cmp::Ordering::Less),
- _ => unreachable!(),
- }
- }
-}
-
impl HasVtableResult {
/// Take the least upper bound of `self` and `rhs`.
pub fn join(self, rhs: Self) -> Self {
diff -up thunderbird-68.3.0/third_party/rust/bindgen/src/ir/analysis/sizedness.rs.bindgen thunderbird-68.3.0/third_party/rust/bindgen/src/ir/analysis/sizedness.rs
--- thunderbird-68.3.0/third_party/rust/bindgen/src/ir/analysis/sizedness.rs.bindgen 2019-12-01 15:29:26.000000000 +0100
+++ thunderbird-68.3.0/third_party/rust/bindgen/src/ir/analysis/sizedness.rs 2019-12-04 11:33:09.632921362 +0100
@@ -22,13 +22,14 @@ use {HashMap, Entry};
///
/// We initially assume that all types are `ZeroSized` and then update our
/// understanding as we learn more about each type.
-#[derive(Copy, Clone, Debug, PartialEq, Eq, Ord)]
+#[derive(Copy, Clone, Debug, PartialEq, Eq, PartialOrd, Ord)]
pub enum SizednessResult {
- /// Has some size that is known to be greater than zero. That doesn't mean
- /// it has a static size, but it is not zero sized for sure. In other words,
- /// it might contain an incomplete array or some other dynamically sized
- /// type.
- NonZeroSized,
+ /// The type is zero-sized.
+ ///
+ /// This means that if it is a C++ type, and is not being used as a base
+ /// member, then we must add an `_address` byte to enforce the
+ /// unique-address-per-distinct-object-instance rule.
+ ZeroSized,
/// Whether this type is zero-sized or not depends on whether a type
/// parameter is zero-sized or not.
@@ -52,12 +53,11 @@ pub enum SizednessResult {
/// https://github.com/rust-lang-nursery/rust-bindgen/issues/586
DependsOnTypeParam,
- /// The type is zero-sized.
- ///
- /// This means that if it is a C++ type, and is not being used as a base
- /// member, then we must add an `_address` byte to enforce the
- /// unique-address-per-distinct-object-instance rule.
- ZeroSized,
+ /// Has some size that is known to be greater than zero. That doesn't mean
+ /// it has a static size, but it is not zero sized for sure. In other words,
+ /// it might contain an incomplete array or some other dynamically sized
+ /// type.
+ NonZeroSized,
}
impl Default for SizednessResult {
@@ -66,21 +66,6 @@ impl Default for SizednessResult {
}
}
-impl cmp::PartialOrd for SizednessResult {
- fn partial_cmp(&self, rhs: &Self) -> Option<cmp::Ordering> {
- use self::SizednessResult::*;
-
- match (*self, *rhs) {
- (x, y) if x == y => Some(cmp::Ordering::Equal),
- (NonZeroSized, _) => Some(cmp::Ordering::Greater),
- (_, NonZeroSized) => Some(cmp::Ordering::Less),
- (DependsOnTypeParam, _) => Some(cmp::Ordering::Greater),
- (_, DependsOnTypeParam) => Some(cmp::Ordering::Less),
- _ => unreachable!(),
- }
- }
-}
-
impl SizednessResult {
/// Take the least upper bound of `self` and `rhs`.
pub fn join(self, rhs: Self) -> Self {
diff -up thunderbird-68.3.0/third_party/rust/bindgen/src/ir/derive.rs.bindgen thunderbird-68.3.0/third_party/rust/bindgen/src/ir/derive.rs
--- thunderbird-68.3.0/third_party/rust/bindgen/src/ir/derive.rs.bindgen 2019-12-01 15:29:26.000000000 +0100
+++ thunderbird-68.3.0/third_party/rust/bindgen/src/ir/derive.rs 2019-12-04 11:33:09.632921362 +0100
@@ -92,10 +92,10 @@ pub trait CanDeriveOrd {
///
/// Initially we assume that we can derive trait for all types and then
/// update our understanding as we learn more about each type.
-#[derive(Debug, Copy, Clone, PartialEq, Eq, Ord)]
+#[derive(Debug, Copy, Clone, PartialEq, Eq, PartialOrd, Ord)]
pub enum CanDerive {
- /// No, we cannot.
- No,
+ /// Yes, we can derive automatically.
+ Yes,
/// The only thing that stops us from automatically deriving is that
/// array with more than maximum number of elements is used.
@@ -103,8 +103,8 @@ pub enum CanDerive {
/// This means we probably can "manually" implement such trait.
Manually,
- /// Yes, we can derive automatically.
- Yes,
+ /// No, we cannot.
+ No,
}
impl Default for CanDerive {
@@ -113,22 +113,6 @@ impl Default for CanDerive {
}
}
-impl cmp::PartialOrd for CanDerive {
- fn partial_cmp(&self, rhs: &Self) -> Option<cmp::Ordering> {
- use self::CanDerive::*;
-
- let ordering = match (*self, *rhs) {
- (x, y) if x == y => cmp::Ordering::Equal,
- (No, _) => cmp::Ordering::Greater,
- (_, No) => cmp::Ordering::Less,
- (Manually, _) => cmp::Ordering::Greater,
- (_, Manually) => cmp::Ordering::Less,
- _ => unreachable!()
- };
- Some(ordering)
- }
-}
-
impl CanDerive {
/// Take the least upper bound of `self` and `rhs`.
pub fn join(self, rhs: Self) -> Self {

View file

@ -0,0 +1,74 @@
# HG changeset patch
# User Lars T Hansen <lhansen@mozilla.com>
# Date 1519822672 -3600
# Wed Feb 28 13:57:52 2018 +0100
# Node ID 672f0415217b202ae59a930769dffd9d6ba6b87c
# Parent 825fd04dacc6297d3a980ec4184079405950b35d
Bug 1375074 - Save and restore non-volatile x28 on ARM64 for generated unboxed object constructor.
diff --git a/js/src/jit-test/tests/bug1375074.js b/js/src/jit-test/tests/bug1375074.js
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/bug1375074.js
@@ -0,0 +1,18 @@
+// This forces the VM to start creating unboxed objects and thus stresses a
+// particular path into generated code for a specialized unboxed object
+// constructor.
+
+var K = 2000; // 2000 should be plenty
+var s = "[";
+var i;
+for ( i=0; i < K-1; i++ )
+ s = s + `{"i":${i}},`;
+s += `{"i":${i}}]`;
+var v = JSON.parse(s);
+
+assertEq(v.length == K, true);
+
+for ( i=0; i < K; i++) {
+ assertEq(v[i] instanceof Object, true);
+ assertEq(v[i].i, i);
+}
diff --git a/js/src/vm/UnboxedObject.cpp b/js/src/vm/UnboxedObject.cpp
--- a/js/src/vm/UnboxedObject.cpp
+++ b/js/src/vm/UnboxedObject.cpp
@@ -95,7 +95,15 @@ UnboxedLayout::makeConstructorCode(JSCon
#endif
#ifdef JS_CODEGEN_ARM64
- // ARM64 communicates stack address via sp, but uses a pseudo-sp for addressing.
+ // ARM64 communicates stack address via sp, but uses a pseudo-sp (PSP) for
+ // addressing. The register we use for PSP may however also be used by
+ // calling code, and it is nonvolatile, so save it. Do this as a special
+ // case first because the generic save/restore code needs the PSP to be
+ // initialized already.
+ MOZ_ASSERT(PseudoStackPointer64.Is(masm.GetStackPointer64()));
+ masm.Str(PseudoStackPointer64, vixl::MemOperand(sp, -16, vixl::PreIndex));
+
+ // Initialize the PSP from the SP.
masm.initStackPtr();
#endif
@@ -233,7 +241,22 @@ UnboxedLayout::makeConstructorCode(JSCon
masm.pop(ScratchDoubleReg);
masm.PopRegsInMask(savedNonVolatileRegisters);
+#ifdef JS_CODEGEN_ARM64
+ // Now restore the value that was in the PSP register on entry, and return.
+
+ // Obtain the correct SP from the PSP.
+ masm.Mov(sp, PseudoStackPointer64);
+
+ // Restore the saved value of the PSP register, this value is whatever the
+ // caller had saved in it, not any actual SP value, and it must not be
+ // overwritten subsequently.
+ masm.Ldr(PseudoStackPointer64, vixl::MemOperand(sp, 16, vixl::PostIndex));
+
+ // Perform a plain Ret(), as abiret() will move SP <- PSP and that is wrong.
+ masm.Ret(vixl::lr);
+#else
masm.abiret();
+#endif
masm.bind(&failureStoreOther);

View file

@ -1,35 +1,21 @@
diff -up firefox-128.0/gfx/skia/skia/modules/skcms/src/Transform_inl.h.aarch64-skia firefox-128.0/gfx/skia/skia/modules/skcms/src/Transform_inl.h
--- firefox-128.0/gfx/skia/skia/modules/skcms/src/Transform_inl.h.aarch64-skia 2024-07-02 11:10:25.047099913 +0200
+++ firefox-128.0/gfx/skia/skia/modules/skcms/src/Transform_inl.h 2024-07-02 11:15:43.855410571 +0200
@@ -151,7 +151,7 @@ SI U32 to_fixed(F f) { return (U32)cast
diff -up thunderbird-60.0/gfx/skia/skia/src/jumper/SkJumper_stages.cpp.aarch64-skia thunderbird-60.0/gfx/skia/skia/src/jumper/SkJumper_stages.cpp
--- thunderbird-60.0/gfx/skia/skia/src/jumper/SkJumper_stages.cpp.aarch64-skia 2018-08-28 14:36:13.555012053 +0200
+++ thunderbird-60.0/gfx/skia/skia/src/jumper/SkJumper_stages.cpp 2018-08-28 14:38:17.160274150 +0200
@@ -666,7 +666,7 @@ SI F approx_powf(F x, F y) {
}
SI F from_half(U16 h) {
-#if defined(JUMPER_IS_NEON) && defined(__aarch64__) && !defined(SK_BUILD_FOR_GOOGLE3) // Temporary workaround for some Google3 builds.
+#if 0 && defined(JUMPER_IS_NEON) && defined(__aarch64__) && !defined(SK_BUILD_FOR_GOOGLE3) // Temporary workaround for some Google3 builds.
return vcvt_f32_f16(h);
SI F F_from_Half(U16 half) {
-#if defined(USING_NEON_F16C)
+#if 0 // defined(USING_NEON_F16C)
return vcvt_f32_f16((float16x4_t)half);
#elif defined(USING_AVX512F)
return (F)_mm512_cvtph_ps((__m256i)half);
@@ -178,7 +178,7 @@ SI F F_from_Half(U16 half) {
__attribute__((no_sanitize("unsigned-integer-overflow")))
#endif
SI U16 Half_from_F(F f) {
-#if defined(USING_NEON_F16C)
+#if 0 //defined(USING_NEON_F16C)
return (U16)vcvt_f16_f32(f);
#elif defined(USING_AVX512F)
return (U16)_mm512_cvtps_ph((__m512 )f, _MM_FROUND_CUR_DIRECTION );
diff -up firefox-128.0/gfx/skia/skia/src/opts/SkRasterPipeline_opts.h.aarch64-skia firefox-128.0/gfx/skia/skia/src/opts/SkRasterPipeline_opts.h
--- firefox-128.0/gfx/skia/skia/src/opts/SkRasterPipeline_opts.h.aarch64-skia 2024-07-02 11:10:25.048099949 +0200
+++ firefox-128.0/gfx/skia/skia/src/opts/SkRasterPipeline_opts.h 2024-07-02 11:13:33.384783413 +0200
@@ -1425,8 +1425,8 @@ SI F from_half(U16 h) {
#elif defined(JUMPER_IS_HSW) || defined(JUMPER_IS_AVX512)
@@ -686,7 +686,7 @@ SI F from_half(U16 h) {
}
SI U16 to_half(F f) {
-#if defined(JUMPER_IS_NEON) && defined(SK_CPU_ARM64)
- return (U16)vcvt_f16_f32(f);
+#if 0 //defined(JUMPER_IS_NEON) && defined(SK_CPU_ARM64)
+ return (U16)vcvt_f16_f32(f);
-#if defined(JUMPER_IS_NEON) && defined(__aarch64__) && !defined(SK_BUILD_FOR_GOOGLE3) // Temporary workaround for some Google3 builds.
+#if 0 && defined(JUMPER_IS_NEON) && defined(__aarch64__) && !defined(SK_BUILD_FOR_GOOGLE3) // Temporary workaround for some Google3 builds.
return vcvt_f16_f32(f);
#elif defined(JUMPER_IS_SKX)
return (U16)_mm512_cvtps_ph(f, _MM_FROUND_CUR_DIRECTION);
#elif defined(JUMPER_IS_HSW) || defined(JUMPER_IS_AVX512)

View file

@ -1,12 +0,0 @@
diff -up firefox-66.0/media/libopus/silk/arm/arm_silk_map.c.old firefox-66.0/media/libopus/silk/arm/arm_silk_map.c
--- firefox-66.0/media/libopus/silk/arm/arm_silk_map.c.old 2019-03-12 21:07:35.356677522 +0100
+++ firefox-66.0/media/libopus/silk/arm/arm_silk_map.c 2019-03-12 21:07:42.937693394 +0100
@@ -28,7 +28,7 @@ POSSIBILITY OF SUCH DAMAGE.
# include "config.h"
#endif
-#include "main_FIX.h"
+#include "fixed/main_FIX.h"
#include "NSQ.h"
#include "SigProc_FIX.h"

84
build-big-endian.patch Normal file
View file

@ -0,0 +1,84 @@
diff -up firefox-60.0/gfx/skia/skia/include/core/SkColorPriv.h.big-endian firefox-60.0/gfx/skia/skia/include/core/SkColorPriv.h
--- firefox-60.0/gfx/skia/skia/include/core/SkColorPriv.h.big-endian 2018-04-09 22:50:48.000000000 +0200
+++ firefox-60.0/gfx/skia/skia/include/core/SkColorPriv.h 2018-04-18 11:51:38.748680174 +0200
@@ -54,18 +54,19 @@ static inline U8CPU SkUnitScalarClampToB
*
* Here we enforce this constraint.
*/
-
+/*
#ifdef SK_CPU_BENDIAN
#define SK_RGBA_R32_SHIFT 24
#define SK_RGBA_G32_SHIFT 16
#define SK_RGBA_B32_SHIFT 8
#define SK_RGBA_A32_SHIFT 0
#else
+*/
#define SK_RGBA_R32_SHIFT 0
#define SK_RGBA_G32_SHIFT 8
#define SK_RGBA_B32_SHIFT 16
#define SK_RGBA_A32_SHIFT 24
-#endif
+/*#endif*/
#define SkGetPackedA32(packed) ((uint32_t)((packed) << (24 - SK_A32_SHIFT)) >> 24)
#define SkGetPackedR32(packed) ((uint32_t)((packed) << (24 - SK_R32_SHIFT)) >> 24)
diff -up firefox-60.0/gfx/skia/skia/include/core/SkImageInfo.h.big-endian firefox-60.0/gfx/skia/skia/include/core/SkImageInfo.h
--- firefox-60.0/gfx/skia/skia/include/core/SkImageInfo.h.big-endian 2018-04-09 22:50:48.000000000 +0200
+++ firefox-60.0/gfx/skia/skia/include/core/SkImageInfo.h 2018-04-18 11:51:38.748680174 +0200
@@ -84,7 +84,8 @@ enum SkColorType {
#elif SK_PMCOLOR_BYTE_ORDER(R,G,B,A)
kN32_SkColorType = kRGBA_8888_SkColorType,
#else
- #error "SK_*32_SHIFT values must correspond to BGRA or RGBA byte order"
+ //#error "SK_*32_SHIFT values must correspond to BGRA or RGBA byte order"
+ kN32_SkColorType = kBGRA_8888_SkColorType
#endif
};
diff -up firefox-60.0/gfx/skia/skia/include/gpu/GrTypes.h.big-endian firefox-60.0/gfx/skia/skia/include/gpu/GrTypes.h
--- firefox-60.0/gfx/skia/skia/include/gpu/GrTypes.h.big-endian 2018-04-09 22:50:48.000000000 +0200
+++ firefox-60.0/gfx/skia/skia/include/gpu/GrTypes.h 2018-04-18 11:51:38.748680174 +0200
@@ -344,15 +344,13 @@ enum GrPixelConfig {
static const int kGrPixelConfigCnt = kLast_GrPixelConfig + 1;
// Aliases for pixel configs that match skia's byte order.
-#ifndef SK_CPU_LENDIAN
- #error "Skia gpu currently assumes little endian"
-#endif
#if SK_PMCOLOR_BYTE_ORDER(B,G,R,A)
static const GrPixelConfig kSkia8888_GrPixelConfig = kBGRA_8888_GrPixelConfig;
#elif SK_PMCOLOR_BYTE_ORDER(R,G,B,A)
static const GrPixelConfig kSkia8888_GrPixelConfig = kRGBA_8888_GrPixelConfig;
#else
- #error "SK_*32_SHIFT values must correspond to GL_BGRA or GL_RGBA format."
+ static const GrPixelConfig kSkia8888_GrPixelConfig = kBGRA_8888_GrPixelConfig;
+ static const GrPixelConfig kSkiaGamma8888_GrPixelConfig = kSBGRA_8888_GrPixelConfig;
#endif
/**
diff -up firefox-60.0/gfx/skia/skia/src/core/SkColorData.h.big-endian firefox-60.0/gfx/skia/skia/src/core/SkColorData.h
--- firefox-60.0/gfx/skia/skia/src/core/SkColorData.h.big-endian 2018-04-18 13:42:06.980476156 +0200
+++ firefox-60.0/gfx/skia/skia/src/core/SkColorData.h 2018-04-18 13:42:50.493520552 +0200
@@ -31,18 +31,19 @@
*
* Here we enforce this constraint.
*/
-
+/*
#ifdef SK_CPU_BENDIAN
#define SK_BGRA_B32_SHIFT 24
#define SK_BGRA_G32_SHIFT 16
#define SK_BGRA_R32_SHIFT 8
#define SK_BGRA_A32_SHIFT 0
#else
+*/
#define SK_BGRA_B32_SHIFT 0
#define SK_BGRA_G32_SHIFT 8
#define SK_BGRA_R32_SHIFT 16
#define SK_BGRA_A32_SHIFT 24
-#endif
+//#endif
#if defined(SK_PMCOLOR_IS_RGBA) && defined(SK_PMCOLOR_IS_BGRA)
#error "can't define PMCOLOR to be RGBA and BGRA"

View file

@ -1,12 +0,0 @@
diff -up thunderbird-147.0/comm/third_party/openpgp.configure.build-botan thunderbird-147.0/comm/third_party/openpgp.configure
--- thunderbird-147.0/comm/third_party/openpgp.configure.build-botan 2026-01-08 22:45:29.000000000 +0100
+++ thunderbird-147.0/comm/third_party/openpgp.configure 2026-01-14 15:43:34.946025500 +0100
@@ -348,7 +348,7 @@ with only_when(in_tree_librnp):
botan_flags = [
"--cc-bin={}".format(cxx_compiler.compiler),
- "--cc-abi-flags={}".format(" ".join(abi_flags)),
+ #"--cc-abi-flags={}".format(" ".join(abi_flags)),
"--cpu={}".format(target.cpu),
"--os={}".format(botan_os),
"--with-build-dir={}".format(botan_objdir),

File diff suppressed because one or more lines are too long

View file

@ -1,12 +1,12 @@
diff -up firefox-115.0.2/toolkit/moz.configure.disable-elfhack firefox-115.0.2/toolkit/moz.configure
--- firefox-115.0.2/toolkit/moz.configure.disable-elfhack 2023-07-18 12:21:22.507358334 +0200
+++ firefox-115.0.2/toolkit/moz.configure 2023-07-18 12:52:55.972727498 +0200
@@ -1520,7 +1520,7 @@ with only_when("--enable-compile-environ
"Cannot enable elfhack with lld."
" Use --enable-linker=bfd, --enable-linker=gold, or --disable-elf-hack"
)
- return True
+ return False
diff -up firefox-62.0.2/toolkit/moz.configure.elfhack firefox-62.0.2/toolkit/moz.configure
--- firefox-62.0.2/toolkit/moz.configure.elfhack 2018-09-27 14:32:56.549507561 +0200
+++ firefox-62.0.2/toolkit/moz.configure 2018-09-27 14:33:08.219532121 +0200
@@ -1195,7 +1195,7 @@ with only_when(has_elfhack):
option('--disable-elf-hack', help='Disable elf hacks')
set_config("USE_ELF_HACK", use_elf_hack)
set_config('USE_ELF_HACK',
- depends_if('--enable-elf-hack')(lambda _: True))
+ depends_if('--enable-elf-hack')(lambda _: False))
@depends(check_build_environment)

View file

@ -0,0 +1,12 @@
diff -up mozilla-aurora/build/autoconf/icu.m4.icu-endian mozilla-aurora/build/autoconf/icu.m4
--- mozilla-aurora/build/autoconf/icu.m4.icu-endian 2016-12-09 09:11:01.227317790 +0100
+++ mozilla-aurora/build/autoconf/icu.m4 2016-12-09 09:18:40.608712247 +0100
@@ -78,7 +78,7 @@ if test -n "$USE_ICU"; then
# TODO: the l is actually endian-dependent
# We could make this set as 'l' or 'b' for little or big, respectively,
# but we'd need to check in a big-endian version of the file.
- ICU_DATA_FILE="icudt${version}l.dat"
+ ICU_DATA_FILE="icudt${version}b.dat"
dnl We won't build ICU data as a separate file when building
dnl JS standalone so that embedders don't have to deal with it.

View file

@ -0,0 +1,30 @@
diff -up firefox-57.0b5/js/src/jit/AtomicOperations.h.jit-atomic-lucky firefox-57.0b5/js/src/jit/AtomicOperations.h
--- firefox-57.0b5/js/src/jit/AtomicOperations.h.jit-atomic-lucky 2017-10-06 12:34:02.338973607 +0200
+++ firefox-57.0b5/js/src/jit/AtomicOperations.h 2017-10-06 12:38:24.632622215 +0200
@@ -415,7 +415,7 @@ AtomicOperations::isLockfreeJS(int32_t s
#elif defined(__s390__) || defined(__s390x__)
# include "jit/none/AtomicOperations-feeling-lucky.h"
#else
-# error "No AtomicOperations support provided for this platform"
+# include "jit/none/AtomicOperations-feeling-lucky.h"
#endif
#endif // jit_AtomicOperations_h
diff -up firefox-57.0b5/js/src/jit/none/AtomicOperations-feeling-lucky.h.jit-atomic-lucky firefox-57.0b5/js/src/jit/none/AtomicOperations-feeling-lucky.h
--- firefox-57.0b5/js/src/jit/none/AtomicOperations-feeling-lucky.h.jit-atomic-lucky 2017-09-19 06:18:28.000000000 +0200
+++ firefox-57.0b5/js/src/jit/none/AtomicOperations-feeling-lucky.h 2017-10-06 12:34:02.338973607 +0200
@@ -79,6 +79,14 @@
# define GNUC_COMPATIBLE
#endif
+#ifdef __s390__
+# define GNUC_COMPATIBLE
+#endif
+
+#ifdef __s390x__
+# define GNUC_COMPATIBLE
+#endif
+
// The default implementation tactic for gcc/clang is to use the newer
// __atomic intrinsics added for use in C++11 <atomic>. Where that
// isn't available, we use GCC's older __sync functions instead.

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -1,51 +0,0 @@
diff -up firefox-55.0/js/src/jit/MIR.h.old firefox-55.0/js/src/jit/MIR.h
--- firefox-55.0/js/src/jit/MIR.h.old 2017-08-08 14:04:44.528460099 +0200
+++ firefox-55.0/js/src/jit/MIR.h 2017-08-08 14:05:11.045364831 +0200
@@ -12434,7 +12434,7 @@ class MNearbyInt
TRIVIAL_NEW_WRAPPERS
static bool HasAssemblerSupport(RoundingMode mode) {
- return Assembler::HasRoundInstruction(mode);
+ return false;
}
RoundingMode roundingMode() const { return roundingMode_; }
diff -up firefox-55.0/js/src/jit/ExecutableAllocator.h.old firefox-55.0/js/src/jit/ExecutableAllocator.h
--- firefox-55.0/js/src/jit/ExecutableAllocator.h.old 2017-08-09 09:24:18.784983505 +0200
+++ firefox-55.0/js/src/jit/ExecutableAllocator.h 2017-08-09 09:28:01.471100075 +0200
@@ -307,6 +307,10 @@ class ExecutableAllocator
{
sync_instruction_memory((caddr_t)code, size);
}
+#else
+ static void cacheFlush(void*, size_t)
+ {
+ }
#endif
private:
diff -up firefox-55.0/js/src/wasm/WasmBuiltins.cpp.old firefox-55.0/js/src/wasm/WasmBuiltins.cpp
--- firefox-55.0/js/src/wasm/WasmBuiltins.cpp.old 2017-08-09 12:50:46.877450765 +0200
+++ firefox-55.0/js/src/wasm/WasmBuiltins.cpp 2017-08-09 12:50:59.725406974 +0200
@@ -881,7 +881,6 @@ wasm::EnsureBuiltinThunksInitialized()
MOZ_ASSERT(!masm.numSymbolicAccesses());
#endif
- ExecutableAllocator::cacheFlush(thunks->codeBase, thunks->codeSize);
if (!ExecutableAllocator::makeExecutable(thunks->codeBase, thunks->codeSize))
return false;
diff -up firefox-55.0/js/src/wasm/WasmCode.cpp.old firefox-55.0/js/src/wasm/WasmCode.cpp
--- firefox-55.0/js/src/wasm/WasmCode.cpp.old 2017-08-09 12:50:37.205483731 +0200
+++ firefox-55.0/js/src/wasm/WasmCode.cpp 2017-08-09 12:51:10.365370708 +0200
@@ -287,8 +287,6 @@ CodeSegment::initialize(Tier tier,
if (!StaticallyLink(*this, linkData))
return false;
- ExecutableAllocator::cacheFlush(bytes_.get(), RoundupCodeLength(codeLength));
-
// Reprotect the whole region to avoid having separate RW and RX mappings.
if (!ExecutableAllocator::makeExecutable(bytes_.get(), RoundupCodeLength(codeLength)))
return false;
diff -up firefox-55.0/media/libyuv/libyuv/tools_libyuv/autoroller/unittests/testdata/DEPS.chromium.old firefox-55.0/media/libyuv/libyuv/tools_libyuv/autoroller/unittests/testdata/DEPS.chromium
diff -up firefox-55.0/media/webrtc/trunk/Makefile.old firefox-55.0/media/webrtc/trunk/Makefile

View file

@ -1,25 +0,0 @@
diff -up firefox-55.0/build/moz.configure/rust.configure.rust-ppc64le firefox-55.0/build/moz.configure/rust.configure
--- firefox-55.0/build/moz.configure/rust.configure.rust-ppc64le 2017-07-31 18:20:49.000000000 +0200
+++ firefox-55.0/build/moz.configure/rust.configure 2017-08-02 10:19:03.254220003 +0200
@@ -151,6 +151,9 @@ def rust_triple_alias(host_or_target):
('sparc64', 'Linux'): 'sparc64-unknown-linux-gnu',
('x86', 'Linux'): 'i686-unknown-linux-gnu',
('x86_64', 'Linux'): 'x86_64-unknown-linux-gnu',
+ ('ppc64le', 'Linux'): 'powerpc64le-unknown-linux-gnu',
+ ('ppc64', 'Linux'): 'powerpc64-unknown-linux-gnu',
+ ('s390x', 'Linux'): 's390x-unknown-linux-gnu',
# OS X
('x86', 'OSX'): 'i686-apple-darwin',
('x86_64', 'OSX'): 'x86_64-apple-darwin',
@@ -174,8 +177,10 @@ def rust_triple_alias(host_or_target):
('sparc64', 'SunOS'): 'sparcv9-sun-solaris',
}.get((host_or_target.cpu, os_or_kernel), None)
+ if (rustc_target == 'powerpc64-unknown-linux-gnu' and host_or_target.endianness == 'little'):
+ rustc_target = 'powerpc64le-unknown-linux-gnu'
if rustc_target is None:
- die("Don't know how to translate {} for rustc".format(host_or_target.alias))
+ die("Don't know how to translate {} for rustc, cpu: {}, os: {}".format(target.alias, target.cpu, os_or_kernel))
# Check to see whether our rustc has a reasonably functional stdlib
# for our chosen target.

View file

@ -1,12 +0,0 @@
diff -up thunderbird-128.9.2/toolkit/components/protobuf/src/google/protobuf/port_def.inc.orig thunderbird-128.9.2/toolkit/components/protobuf/src/google/protobuf/port_def.inc
--- thunderbird-128.9.2/toolkit/components/protobuf/src/google/protobuf/port_def.inc.orig 2025-04-24 14:10:37.830416804 +0000
+++ thunderbird-128.9.2/toolkit/components/protobuf/src/google/protobuf/port_def.inc 2025-04-24 14:11:31.910416804 +0000
@@ -255,7 +255,7 @@
#error PROTOBUF_TAILCALL was previously defined
#endif
#if __has_cpp_attribute(clang::musttail) && !defined(__arm__) && \
- !defined(_ARCH_PPC) && !defined(__wasm__) && \
+ !defined(_ARCH_PPC) && !defined(__s390x__) && !defined(__wasm__) && \
!(defined(_MSC_VER) && defined(_M_IX86)) && \
!(defined(__NDK_MAJOR__) && __NDK_MAJOR <= 24)
# ifndef PROTO2_OPENSOURCE

View file

@ -1,11 +0,0 @@
diff -up thunderbird-145.0/security/sandbox/chromium/sandbox/linux/system_headers/linux_seccomp.h.seccomp thunderbird-145.0/security/sandbox/chromium/sandbox/linux/system_headers/linux_seccomp.h
--- thunderbird-145.0/security/sandbox/chromium/sandbox/linux/system_headers/linux_seccomp.h.seccomp 2025-12-09 13:42:31.378958842 +0100
+++ thunderbird-145.0/security/sandbox/chromium/sandbox/linux/system_headers/linux_seccomp.h 2025-12-09 13:42:37.886937626 +0100
@@ -6,6 +6,7 @@
#define SANDBOX_LINUX_SYSTEM_HEADERS_LINUX_SECCOMP_H_
#include <stdint.h>
+#include <signal.h>
#include <sys/ioctl.h>
#include "build/build_config.h"

12
disable-dbus-remote.patch Normal file
View file

@ -0,0 +1,12 @@
diff -up thunderbird-60.3.0/toolkit/components/remote/nsRemoteService.cpp.old thunderbird-60.3.0/toolkit/components/remote/nsRemoteService.cpp
--- thunderbird-60.3.0/toolkit/components/remote/nsRemoteService.cpp.old 2018-11-06 11:25:46.634929894 +0100
+++ thunderbird-60.3.0/toolkit/components/remote/nsRemoteService.cpp 2018-11-06 11:21:49.617828440 +0100
@@ -34,7 +34,7 @@ NS_IMPL_ISUPPORTS(nsRemoteService,
NS_IMETHODIMP
nsRemoteService::Startup(const char* aAppName, const char* aProfileName)
{
-#if defined(MOZ_ENABLE_DBUS)
+#if 0
nsresult rv;
mDBusRemoteService = new nsDBusRemoteService();
rv = mDBusRemoteService->Startup(aAppName, aProfileName);

View file

@ -1,16 +0,0 @@
diff -up firefox-68.0/media/libyuv/libyuv/tools_libyuv/autoroller/unittests/testdata/DEPS.chromium.old firefox-68.0/media/libyuv/libyuv/tools_libyuv/autoroller/unittests/testdata/DEPS.chromium
diff -up firefox-68.0/media/webrtc/trunk/Makefile.old firefox-68.0/media/webrtc/trunk/Makefile
diff -up firefox-68.0/media/webrtc/trunk/webrtc/rtc_base/physicalsocketserver.cc.old firefox-68.0/media/webrtc/trunk/webrtc/rtc_base/physicalsocketserver.cc
--- firefox-68.0/media/webrtc/trunk/webrtc/rtc_base/physicalsocketserver.cc.old 2019-07-10 20:10:04.420328534 +0200
+++ firefox-68.0/media/webrtc/trunk/webrtc/rtc_base/physicalsocketserver.cc 2019-07-10 20:13:48.766658793 +0200
@@ -62,6 +62,10 @@ typedef void* SockOptArg;
#if defined(WEBRTC_POSIX) && !defined(WEBRTC_MAC) && !defined(WEBRTC_BSD) && !defined(__native_client__)
+#ifndef SIOCGSTAMP
+#define SIOCGSTAMP 0x8906 /* Get stamp (timeval) */
+#endif
+
int64_t GetSocketRecvTimestamp(int socket) {
struct timeval tv_ioctl;
int ret = ioctl(socket, SIOCGSTAMP, &tv_ioctl);

View file

@ -1,24 +0,0 @@
--- firefox-109.0.1/gfx/2d/Rect.h.old 2023-02-07 09:44:24.946279843 +0100
+++ firefox-109.0.1/gfx/2d/Rect.h 2023-02-07 09:44:47.969032049 +0100
@@ -324,8 +324,8 @@ IntRectTyped<Units> RoundedToInt(const R
template <class Units>
bool RectIsInt32Safe(const RectTyped<Units>& aRect) {
- float min = (float)std::numeric_limits<std::int32_t>::min();
- float max = (float)std::numeric_limits<std::int32_t>::max();
+ float min = (float)std::numeric_limits<int32_t>::min();
+ float max = (float)std::numeric_limits<int32_t>::max();
return aRect.x > min && aRect.y > min && aRect.width < max &&
aRect.height < max && aRect.XMost() < max && aRect.YMost() < max;
}
diff -up firefox-109.0.1/toolkit/components/telemetry/pingsender/pingsender.cpp.old firefox-109.0.1/toolkit/components/telemetry/pingsender/pingsender.cpp
--- firefox-109.0.1/toolkit/components/telemetry/pingsender/pingsender.cpp.old 2023-02-07 11:03:41.788720090 +0100
+++ firefox-109.0.1/toolkit/components/telemetry/pingsender/pingsender.cpp 2023-02-07 11:04:29.195345659 +0100
@@ -10,6 +10,7 @@
#include <iomanip>
#include <string>
#include <vector>
+#include <cstdint>
#include <zlib.h>

26
firefox-gcc-6.0.patch Normal file
View file

@ -0,0 +1,26 @@
diff -up firefox-44.0/nsprpub/config/make-system-wrappers.pl.back firefox-44.0/nsprpub/config/make-system-wrappers.pl
--- firefox-44.0/nsprpub/config/make-system-wrappers.pl.back 2016-01-24 00:23:49.000000000 +0100
+++ firefox-44.0/nsprpub/config/make-system-wrappers.pl 2016-02-02 14:58:45.064112655 +0100
@@ -19,7 +19,9 @@ while (<STDIN>) {
open OUT, ">$output_dir/$_";
print OUT "#pragma GCC system_header\n"; # suppress include_next warning
print OUT "#pragma GCC visibility push(default)\n";
+ print OUT "#define _GLIBCXX_INCLUDE_NEXT_C_HEADERS\n";
print OUT "#include_next \<$_\>\n";
+ print OUT "#undef _GLIBCXX_INCLUDE_NEXT_C_HEADERS\n";
print OUT "#pragma GCC visibility pop\n";
close OUT;
}
diff -up firefox-44.0/mozglue/build/arm.cpp.old firefox-44.0/mozglue/build/arm.cpp
--- firefox-44.0/mozglue/build/arm.cpp.old 2016-02-03 10:07:29.879526500 +0100
+++ firefox-44.0/mozglue/build/arm.cpp 2016-02-03 10:08:11.062697517 +0100
@@ -104,7 +104,9 @@ check_neon(void)
# elif defined(__linux__) || defined(ANDROID)
# include <stdio.h>
+#define _GLIBCXX_INCLUDE_NEXT_C_HEADERS
# include <stdlib.h>
+#undef _GLIBCXX_INCLUDE_NEXT_C_HEADERS
# include <string.h>
enum{

View file

@ -1,39 +0,0 @@
diff -up thunderbird-128.1.0/toolkit/crashreporter/google-breakpad/src/third_party/lss/linux_syscall_support.h.firefox-gcc-build thunderbird-128.1.0/toolkit/crashreporter/google-breakpad/src/third_party/lss/linux_syscall_support.h
--- thunderbird-128.1.0/toolkit/crashreporter/google-breakpad/src/third_party/lss/linux_syscall_support.h.firefox-gcc-build 2024-07-31 19:13:21.000000000 +0200
+++ thunderbird-128.1.0/toolkit/crashreporter/google-breakpad/src/third_party/lss/linux_syscall_support.h 2024-08-08 16:03:45.639263256 +0200
@@ -1962,7 +1962,7 @@ struct kernel_statfs {
LSS_ENTRYPOINT \
"pop %%ebx" \
args \
- : "esp", "memory"); \
+ : "memory"); \
LSS_RETURN(type,__res)
#undef _syscall0
#define _syscall0(type,name) \
@@ -2019,7 +2019,7 @@ struct kernel_statfs {
: "i" (__NR_##name), "ri" ((long)(arg1)), \
"c" ((long)(arg2)), "d" ((long)(arg3)), \
"S" ((long)(arg4)), "D" ((long)(arg5)) \
- : "esp", "memory"); \
+ : "memory"); \
LSS_RETURN(type,__res); \
}
#undef _syscall6
@@ -2041,7 +2041,7 @@ struct kernel_statfs {
: "i" (__NR_##name), "0" ((long)(&__s)), \
"c" ((long)(arg2)), "d" ((long)(arg3)), \
"S" ((long)(arg4)), "D" ((long)(arg5)) \
- : "esp", "memory"); \
+ : "memory"); \
LSS_RETURN(type,__res); \
}
LSS_INLINE int LSS_NAME(clone)(int (*fn)(void *), void *child_stack,
@@ -2127,7 +2127,7 @@ struct kernel_statfs {
: "0"(-EINVAL), "i"(__NR_clone),
"m"(fn), "m"(child_stack), "m"(flags), "m"(arg),
"m"(parent_tidptr), "m"(newtls), "m"(child_tidptr)
- : "esp", "memory", "ecx", "edx", "esi", "edi");
+ : "memory", "ecx", "edx", "esi", "edi");
LSS_RETURN(int, __res);
}

View file

@ -1,12 +0,0 @@
diff -up firefox-105.0/mozglue/misc/SIMD_avx2.cpp.old firefox-105.0/mozglue/misc/SIMD_avx2.cpp
--- firefox-105.0/mozglue/misc/SIMD_avx2.cpp.old 2022-09-22 21:35:07.006221995 +0200
+++ firefox-105.0/mozglue/misc/SIMD_avx2.cpp 2022-09-22 21:36:12.972480517 +0200
@@ -55,7 +55,7 @@ __m256i CmpEq256(__m256i a, __m256i b) {
return _mm256_cmpeq_epi64(a, b);
}
-# if defined(__GNUC__) && !defined(__clang__)
+# if 0
// See the comment in SIMD.cpp over Load32BitsIntoXMM. This is just adapted
// from that workaround. Testing this, it also yields the correct instructions

View file

@ -0,0 +1,94 @@
diff -up firefox-63.0.3/widget/gtk/mozcontainer.cpp.mozbz1507475 firefox-63.0.3/widget/gtk/mozcontainer.cpp
--- firefox-63.0.3/widget/gtk/mozcontainer.cpp.mozbz1507475 2018-11-15 01:20:56.000000000 +0100
+++ firefox-63.0.3/widget/gtk/mozcontainer.cpp 2018-11-21 15:41:41.858692640 +0100
@@ -169,6 +169,8 @@ moz_container_class_init (MozContainerCl
}
#if defined(MOZ_WAYLAND)
+static struct wl_subcompositor *subcompositor;
+
static void
registry_handle_global (void *data,
struct wl_registry *registry,
@@ -176,9 +178,8 @@ registry_handle_global (void *data,
const char *interface,
uint32_t version)
{
- MozContainer *container = MOZ_CONTAINER(data);
if(strcmp(interface, "wl_subcompositor") == 0) {
- container->subcompositor =
+ subcompositor =
static_cast<wl_subcompositor*>(wl_registry_bind(registry,
name,
&wl_subcompositor_interface,
@@ -197,6 +198,24 @@ static const struct wl_registry_listener
registry_handle_global,
registry_handle_global_remove
};
+
+struct wl_subcompositor* subcompositor_get(void)
+{
+ if (!subcompositor) {
+ GdkDisplay *gdk_display = gdk_display_get_default();
+ // Available as of GTK 3.8+
+ static auto sGdkWaylandDisplayGetWlDisplay =
+ (wl_display *(*)(GdkDisplay *))
+ dlsym(RTLD_DEFAULT, "gdk_wayland_display_get_wl_display");
+
+ wl_display* display = sGdkWaylandDisplayGetWlDisplay(gdk_display);
+ wl_registry* registry = wl_display_get_registry(display);
+ wl_registry_add_listener(registry, &registry_listener, nullptr);
+ wl_display_dispatch(display);
+ wl_display_roundtrip(display);
+ }
+ return subcompositor;
+}
#endif
void
@@ -208,25 +227,10 @@ moz_container_init (MozContainer *contai
#if defined(MOZ_WAYLAND)
{
- container->subcompositor = nullptr;
container->surface = nullptr;
container->subsurface = nullptr;
container->eglwindow = nullptr;
container->parent_surface_committed = false;
-
- GdkDisplay *gdk_display = gtk_widget_get_display(GTK_WIDGET(container));
- if (GDK_IS_WAYLAND_DISPLAY (gdk_display)) {
- // Available as of GTK 3.8+
- static auto sGdkWaylandDisplayGetWlDisplay =
- (wl_display *(*)(GdkDisplay *))
- dlsym(RTLD_DEFAULT, "gdk_wayland_display_get_wl_display");
-
- wl_display* display = sGdkWaylandDisplayGetWlDisplay(gdk_display);
- wl_registry* registry = wl_display_get_registry(display);
- wl_registry_add_listener(registry, &registry_listener, container);
- wl_display_dispatch(display);
- wl_display_roundtrip(display);
- }
}
#endif
}
@@ -298,7 +302,7 @@ moz_container_map_surface(MozContainer *
}
container->subsurface =
- wl_subcompositor_get_subsurface (container->subcompositor,
+ wl_subcompositor_get_subsurface (subcompositor_get(),
container->surface,
gtk_surface);
gint x, y;
diff -up firefox-63.0.3/widget/gtk/mozcontainer.h.mozbz1507475 firefox-63.0.3/widget/gtk/mozcontainer.h
--- firefox-63.0.3/widget/gtk/mozcontainer.h.mozbz1507475 2018-11-15 01:20:56.000000000 +0100
+++ firefox-63.0.3/widget/gtk/mozcontainer.h 2018-11-21 14:16:54.412397805 +0100
@@ -69,7 +69,6 @@ struct _MozContainer
GList *children;
#ifdef MOZ_WAYLAND
- struct wl_subcompositor *subcompositor;
struct wl_surface *surface;
struct wl_subsurface *subsurface;
struct wl_egl_window *eglwindow;

3856
firefox-wayland.patch Normal file

File diff suppressed because it is too large Load diff

View file

@ -1,32 +0,0 @@
#!/bin/bash
set -x
# Dummy Cargo.toml file with cbindgen dependency
cat > Cargo.toml <<EOL
[package]
name = "dummy"
version = "0.0.1"
description = """
This is a dummy package which contains dependency on cbindgen
to be used with 'cargo vendor' commmand.
"""
[dependencies]
cbindgen = "0.29.1"
[[bin]]
name = "dummy"
path = "dummy.rs"
doc = false
EOL
cargo install cargo-vendor
cargo vendor
cd vendor
tar -cJf ../cbindgen-vendor.tar.xz *
cd ..
rm -f Cargo.toml
rm -rf vendor

View file

@ -100,7 +100,7 @@ for lang in $LOCALES; do
}
},
"langpack_id": "$lang",
"version": "7.$LIGHTNING_VERSION.$BUILD_ID",
"version": "$LIGHTNING_VERSION$BUILD_ID",
"name": "$lang Language Pack Calendar",
"manifest_version": 2,
"sources": {

View file

@ -1,95 +0,0 @@
diff -up firefox-140.0/extensions/pref/autoconfig/src/nsReadConfig.cpp.mozilla-bmo1170092 firefox-140.0/extensions/pref/autoconfig/src/nsReadConfig.cpp
--- firefox-140.0/extensions/pref/autoconfig/src/nsReadConfig.cpp.mozilla-bmo1170092 2025-06-02 15:26:44.000000000 +0200
+++ firefox-140.0/extensions/pref/autoconfig/src/nsReadConfig.cpp 2025-06-04 13:24:00.344728697 +0200
@@ -263,8 +263,20 @@ nsresult nsReadConfig::openAndEvaluateJS
if (NS_FAILED(rv)) return rv;
rv = NS_NewLocalFileInputStream(getter_AddRefs(inStr), jsFile);
- if (NS_FAILED(rv)) return rv;
+ if (NS_FAILED(rv)) {
+ // Look for cfg file in /etc/<application>/pref
+ rv = NS_GetSpecialDirectory(NS_APP_PREFS_SYSTEM_CONFIG_DIR,
+ getter_AddRefs(jsFile));
+ NS_ENSURE_SUCCESS(rv, rv);
+
+ rv = jsFile->AppendNative(nsLiteralCString("pref"));
+ NS_ENSURE_SUCCESS(rv, rv);
+ rv = jsFile->AppendNative(nsDependentCString(aFileName));
+ NS_ENSURE_SUCCESS(rv, rv);
+ rv = NS_NewLocalFileInputStream(getter_AddRefs(inStr), jsFile);
+ NS_ENSURE_SUCCESS(rv, rv);
+ }
} else {
nsAutoCString location("resource://gre/defaults/autoconfig/");
location += aFileName;
diff -up firefox-140.0/modules/libpref/Preferences.cpp.mozilla-bmo1170092 firefox-140.0/modules/libpref/Preferences.cpp
--- firefox-140.0/modules/libpref/Preferences.cpp.mozilla-bmo1170092 2025-06-02 15:26:51.000000000 +0200
+++ firefox-140.0/modules/libpref/Preferences.cpp 2025-06-04 13:24:00.345430064 +0200
@@ -4914,6 +4914,9 @@ nsresult Preferences::InitInitialObjects
//
// Thus, in the omni.jar case, we always load app-specific default
// preferences from omni.jar, whether or not `$app == $gre`.
+ //
+ // At very end load configuration from system config location:
+ // - /etc/firefox/pref/*.js
nsresult rv = NS_ERROR_FAILURE;
UniquePtr<nsZipFind> find;
diff -up firefox-140.0/toolkit/xre/nsXREDirProvider.cpp.mozilla-bmo1170092 firefox-140.0/toolkit/xre/nsXREDirProvider.cpp
--- firefox-140.0/toolkit/xre/nsXREDirProvider.cpp.mozilla-bmo1170092 2025-06-02 15:27:00.000000000 +0200
+++ firefox-140.0/toolkit/xre/nsXREDirProvider.cpp 2025-06-04 15:44:09.413562326 +0200
@@ -76,6 +76,7 @@
#endif
#ifdef XP_UNIX
# include <ctype.h>
+# include "nsIXULAppInfo.h"
#endif
#ifdef XP_IOS
# include "UIKitDirProvider.h"
@@ -462,6 +463,17 @@ nsXREDirProvider::GetFile(const char* aP
rv = file->AppendNative(nsLiteralCString(PREF_OVERRIDE_DIRNAME));
NS_ENSURE_SUCCESS(rv, rv);
rv = EnsureDirectoryExists(file);
+ } else if (!strcmp(aProperty, NS_APP_PREFS_SYSTEM_CONFIG_DIR)) {
+ nsCString sysConfigDir = nsLiteralCString("/etc/");
+ nsCOMPtr<nsIXULAppInfo> appInfo = do_GetService("@mozilla.org/xre/app-info;1");
+ if (!appInfo)
+ return NS_ERROR_NOT_AVAILABLE;
+ nsCString appName;
+ appInfo->GetName(appName);
+ ToLowerCase(appName);
+ sysConfigDir.Append(appName);
+ NS_NewNativeLocalFile(sysConfigDir, getter_AddRefs(file));
+ rv = EnsureDirectoryExists(file);
} else {
// We don't know anything about this property. Fail without warning, because
// otherwise we'll get too much warning spam due to
@@ -518,6 +530,16 @@ nsXREDirProvider::GetFiles(const char* a
}
#endif
+ // Add /etc/<application>/pref/ directory if it exists
+ nsCOMPtr<nsIFile> systemPrefDir;
+ rv = NS_GetSpecialDirectory(NS_APP_PREFS_SYSTEM_CONFIG_DIR,
+ getter_AddRefs(systemPrefDir));
+ if (NS_SUCCEEDED(rv)) {
+ rv = systemPrefDir->AppendNative(nsLiteralCString("pref"));
+ if (NS_SUCCEEDED(rv))
+ directories.AppendObject(systemPrefDir);
+ }
+
rv = NS_NewArrayEnumerator(aResult, directories, NS_GET_IID(nsIFile));
} else if (!strcmp(aProperty, NS_APP_CHROME_DIR_LIST)) {
// NS_APP_CHROME_DIR_LIST is only used to get default (native) icons
diff -up firefox-140.0/xpcom/io/nsAppDirectoryServiceDefs.h.mozilla-bmo1170092 firefox-140.0/xpcom/io/nsAppDirectoryServiceDefs.h
--- firefox-140.0/xpcom/io/nsAppDirectoryServiceDefs.h.mozilla-bmo1170092 2025-06-02 15:27:01.000000000 +0200
+++ firefox-140.0/xpcom/io/nsAppDirectoryServiceDefs.h 2025-06-04 13:24:00.346423861 +0200
@@ -58,6 +58,7 @@
#define NS_APP_PREFS_DEFAULTS_DIR_LIST "PrefDL"
#define NS_APP_PREFS_OVERRIDE_DIR \
"PrefDOverride" // Directory for per-profile defaults
+#define NS_APP_PREFS_SYSTEM_CONFIG_DIR "PrefSysConf" // Directory with system-wide configuration
#define NS_APP_USER_PROFILE_50_DIR "ProfD"
#define NS_APP_USER_PROFILE_LOCAL_50_DIR "ProfLD"

17
mozilla-1245783.patch Normal file
View file

@ -0,0 +1,17 @@
# Remove when mozbz#1269319 lands
--- firefox-45.0.1-orig/js/src/Makefile.in 2016-05-17 14:53:58.753178403 +0200
+++ firefox-45.0.1/js/src/Makefile.in 2016-05-17 14:53:28.432817862 +0200
@@ -144,6 +144,11 @@ distclean::
CFLAGS += $(MOZ_ZLIB_CFLAGS)
+# Avoid GNU gcc bug #70526
+# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70526#c14
+CFLAGS += -fno-schedule-insns2
+CXXFLAGS += -fno-schedule-insns2
+
# Silence warnings on AIX/HP-UX from non-GNU compilers
ifndef GNU_CC
ifeq ($(OS_ARCH),AIX)

27
mozilla-1353817.patch Normal file
View file

@ -0,0 +1,27 @@
From 1cc652f5525f458b0b4ceb12af24bf5a4367db32 Mon Sep 17 00:00:00 2001
From: Nicolas Dufresne <nicolas.dufresne@collabora.com>
Date: Tue, 23 May 2017 13:09:48 -0400
Subject: [PATCH] Bug 1353817: Include SkNx_neon.h for ARM64 too
This fixes build errors as arm_neon.h was missing along with some
missing converters.
---
gfx/skia/skia/src/core/SkNx.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/gfx/skia/skia/src/core/SkNx.h b/gfx/skia/skia/src/core/SkNx.h
index 6bca856..b0427aa 100644
--- a/gfx/skia/skia/src/core/SkNx.h
+++ b/gfx/skia/skia/src/core/SkNx.h
@@ -299,7 +299,7 @@ typedef SkNx<4, uint32_t> Sk4u;
// Include platform specific specializations if available.
#if !defined(SKNX_NO_SIMD) && SK_CPU_SSE_LEVEL >= SK_CPU_SSE_LEVEL_SSE2
#include "../opts/SkNx_sse.h"
-#elif !defined(SKNX_NO_SIMD) && defined(SK_ARM_HAS_NEON)
+#elif !defined(SKNX_NO_SIMD) && (defined(SK_ARM_HAS_NEON) || defined(SK_CPU_ARM64))
#include "../opts/SkNx_neon.h"
#else
--
2.9.4

View file

@ -0,0 +1,164 @@
diff -up thunderbird-60.2.1/comm/ldap/xpcom/public/nsILDAPOperation.idl.1460871-ldap-query thunderbird-60.2.1/comm/ldap/xpcom/public/nsILDAPOperation.idl
--- thunderbird-60.2.1/comm/ldap/xpcom/public/nsILDAPOperation.idl.1460871-ldap-query 2018-10-01 16:52:39.000000000 +0200
+++ thunderbird-60.2.1/comm/ldap/xpcom/public/nsILDAPOperation.idl 2018-10-04 09:40:04.491575949 +0200
@@ -52,6 +52,10 @@ interface nsILDAPOperation : nsISupports
* private parameter (anything caller desires)
*/
attribute nsISupports closure;
+ /**
+ * number of the request for compare that the request is still valid.
+ */
+ attribute unsigned long requestNum;
/**
* No time and/or size limit specified
diff -up thunderbird-60.2.1/comm/ldap/xpcom/src/nsLDAPOperation.cpp.1460871-ldap-query thunderbird-60.2.1/comm/ldap/xpcom/src/nsLDAPOperation.cpp
--- thunderbird-60.2.1/comm/ldap/xpcom/src/nsLDAPOperation.cpp.1460871-ldap-query 2018-10-01 16:52:39.000000000 +0200
+++ thunderbird-60.2.1/comm/ldap/xpcom/src/nsLDAPOperation.cpp 2018-10-04 09:40:04.491575949 +0200
@@ -400,6 +400,19 @@ convertControlArray(nsIArray *aXpcomArra
return NS_OK;
}
+ /* attribute unsigned long requestNum; */
+NS_IMETHODIMP nsLDAPOperation::GetRequestNum(uint32_t *aRequestNum)
+{
+ *aRequestNum = mRequestNum;
+ return NS_OK;
+}
+
+NS_IMETHODIMP nsLDAPOperation::SetRequestNum(uint32_t aRequestNum)
+{
+ mRequestNum = aRequestNum;
+ return NS_OK;
+}
+
NS_IMETHODIMP
nsLDAPOperation::SearchExt(const nsACString& aBaseDn, int32_t aScope,
const nsACString& aFilter,
diff -up thunderbird-60.2.1/comm/ldap/xpcom/src/nsLDAPOperation.h.1460871-ldap-query thunderbird-60.2.1/comm/ldap/xpcom/src/nsLDAPOperation.h
--- thunderbird-60.2.1/comm/ldap/xpcom/src/nsLDAPOperation.h.1460871-ldap-query 2018-10-01 16:52:39.000000000 +0200
+++ thunderbird-60.2.1/comm/ldap/xpcom/src/nsLDAPOperation.h 2018-10-04 09:40:04.491575949 +0200
@@ -36,6 +36,8 @@ class nsLDAPOperation : public nsILDAPOp
* used to break cycles
*/
void Clear();
+ // Stores the request number for later check of the operation is still valid
+ int32_t mRequestNum;
private:
virtual ~nsLDAPOperation();
diff -up thunderbird-60.2.1/comm/mailnews/addrbook/src/nsAbLDAPDirectoryQuery.cpp.1460871-ldap-query thunderbird-60.2.1/comm/mailnews/addrbook/src/nsAbLDAPDirectoryQuery.cpp
--- thunderbird-60.2.1/comm/mailnews/addrbook/src/nsAbLDAPDirectoryQuery.cpp.1460871-ldap-query 2018-10-01 16:52:43.000000000 +0200
+++ thunderbird-60.2.1/comm/mailnews/addrbook/src/nsAbLDAPDirectoryQuery.cpp 2018-10-04 09:40:55.334670404 +0200
@@ -22,6 +22,8 @@
using namespace mozilla;
+extern mozilla::LazyLogModule gLDAPLogModule; // defined in nsLDAPService.cpp
+
// nsAbLDAPListenerBase inherits nsILDAPMessageListener
class nsAbQueryLDAPMessageListener : public nsAbLDAPListenerBase
{
@@ -66,7 +68,6 @@ protected:
bool mFinished;
bool mCanceled;
- bool mWaitingForPrevQueryToFinish;
nsCOMPtr<nsIMutableArray> mServerSearchControls;
nsCOMPtr<nsIMutableArray> mClientSearchControls;
@@ -94,7 +95,6 @@ nsAbQueryLDAPMessageListener::nsAbQueryL
mResultLimit(resultLimit),
mFinished(false),
mCanceled(false),
- mWaitingForPrevQueryToFinish(false),
mServerSearchControls(serverSearchControls),
mClientSearchControls(clientSearchControls)
{
@@ -116,9 +116,6 @@ nsresult nsAbQueryLDAPMessageListener::C
return NS_OK;
mCanceled = true;
- if (!mFinished)
- mWaitingForPrevQueryToFinish = true;
-
return NS_OK;
}
@@ -129,6 +126,8 @@ NS_IMETHODIMP nsAbQueryLDAPMessageListen
int32_t messageType;
rv = aMessage->GetType(&messageType);
+ uint32_t requestNum;
+ mOperation->GetRequestNum(&requestNum);
NS_ENSURE_SUCCESS(rv, rv);
bool cancelOperation = false;
@@ -137,6 +136,14 @@ NS_IMETHODIMP nsAbQueryLDAPMessageListen
{
MutexAutoLock lock (mLock);
+ if (requestNum != sCurrentRequestNum) {
+ MOZ_LOG(gLDAPLogModule, mozilla::LogLevel::Debug,
+ ("nsAbQueryLDAPMessageListener::OnLDAPMessage: Ignoring message with "
+ "request num %d, current request num is %d.",
+ requestNum, sCurrentRequestNum));
+ return NS_OK;
+ }
+
if (mFinished)
return NS_OK;
@@ -166,11 +173,10 @@ NS_IMETHODIMP nsAbQueryLDAPMessageListen
rv = OnLDAPMessageSearchResult(aMessage);
break;
case nsILDAPMessage::RES_SEARCH_ENTRY:
- if (!mFinished && !mWaitingForPrevQueryToFinish)
+ if (!mFinished)
rv = OnLDAPMessageSearchEntry(aMessage);
break;
case nsILDAPMessage::RES_SEARCH_RESULT:
- mWaitingForPrevQueryToFinish = false;
rv = OnLDAPMessageSearchResult(aMessage);
NS_ENSURE_SUCCESS(rv, rv);
break;
@@ -207,6 +213,8 @@ nsresult nsAbQueryLDAPMessageListener::D
rv = mOperation->Init(mConnection, this, nullptr);
NS_ENSURE_SUCCESS(rv, rv);
+ mOperation->SetRequestNum(++sCurrentRequestNum);
+
nsAutoCString dn;
rv = mSearchUrl->GetDn(dn);
NS_ENSURE_SUCCESS(rv, rv);
diff -up thunderbird-60.2.1/comm/mailnews/addrbook/src/nsAbLDAPListenerBase.cpp.1460871-ldap-query thunderbird-60.2.1/comm/mailnews/addrbook/src/nsAbLDAPListenerBase.cpp
--- thunderbird-60.2.1/comm/mailnews/addrbook/src/nsAbLDAPListenerBase.cpp.1460871-ldap-query 2018-10-01 16:52:43.000000000 +0200
+++ thunderbird-60.2.1/comm/mailnews/addrbook/src/nsAbLDAPListenerBase.cpp 2018-10-04 09:40:04.492575951 +0200
@@ -20,6 +20,8 @@
using namespace mozilla;
+uint32_t nsAbLDAPListenerBase::sCurrentRequestNum = 0;
+
nsAbLDAPListenerBase::nsAbLDAPListenerBase(nsILDAPURL* url,
nsILDAPConnection* connection,
const nsACString &login,
@@ -249,6 +251,7 @@ NS_IMETHODIMP nsAbLDAPListenerBase::OnLD
InitFailed();
return rv;
}
+ mOperation->SetRequestNum(++sCurrentRequestNum);
// Try non-password mechanisms first
if (mSaslMechanism.EqualsLiteral("GSSAPI"))
diff -up thunderbird-60.2.1/comm/mailnews/addrbook/src/nsAbLDAPListenerBase.h.1460871-ldap-query thunderbird-60.2.1/comm/mailnews/addrbook/src/nsAbLDAPListenerBase.h
--- thunderbird-60.2.1/comm/mailnews/addrbook/src/nsAbLDAPListenerBase.h.1460871-ldap-query 2018-10-01 16:52:43.000000000 +0200
+++ thunderbird-60.2.1/comm/mailnews/addrbook/src/nsAbLDAPListenerBase.h 2018-10-04 09:40:04.492575951 +0200
@@ -47,6 +47,7 @@ protected:
int32_t mTimeOut;
bool mBound;
bool mInitialized;
+ static uint32_t sCurrentRequestNum;
mozilla::Mutex mLock;
};

View file

@ -1,21 +0,0 @@
diff -up thunderbird-68.1.0/js/xpconnect/src/XPCWrappedNative.cpp.mozbz-1512162 thunderbird-68.1.0/js/xpconnect/src/XPCWrappedNative.cpp
--- thunderbird-68.1.0/js/xpconnect/src/XPCWrappedNative.cpp.mozbz-1512162 2019-09-10 01:43:33.000000000 +0200
+++ thunderbird-68.1.0/js/xpconnect/src/XPCWrappedNative.cpp 2019-09-12 16:16:52.644123766 +0200
@@ -1092,7 +1092,7 @@ class MOZ_STACK_CLASS CallMethodHelper f
MOZ_ALWAYS_INLINE bool GetOutParamSource(uint8_t paramIndex,
MutableHandleValue srcp) const;
- MOZ_ALWAYS_INLINE bool GatherAndConvertResults();
+ bool GatherAndConvertResults();
MOZ_ALWAYS_INLINE bool QueryInterfaceFastPath();
@@ -1139,7 +1139,7 @@ class MOZ_STACK_CLASS CallMethodHelper f
~CallMethodHelper();
- MOZ_ALWAYS_INLINE bool Call();
+ bool Call();
// Trace implementation so we can put our CallMethodHelper in a Rooted<T>.
void trace(JSTracer* aTrc);

View file

@ -1,14 +0,0 @@
diff -up firefox-60.6.0/widget/gtk/nsFilePicker.cpp.old firefox-60.6.0/widget/gtk/nsFilePicker.cpp
--- firefox-60.6.0/widget/gtk/nsFilePicker.cpp.old 2019-03-27 10:29:47.918560620 +0100
+++ firefox-60.6.0/widget/gtk/nsFilePicker.cpp 2019-03-27 10:30:08.384491717 +0100
@@ -366,9 +366,7 @@ nsFilePicker::Open(nsIFilePickerShownCal
// If we have --enable-proxy-bypass-protection, then don't allow
// remote URLs to be used.
#ifndef MOZ_PROXY_BYPASS_PROTECTION
- if (mAllowURLs) {
- gtk_file_chooser_set_local_only(GTK_FILE_CHOOSER(file_chooser), FALSE);
- }
+ gtk_file_chooser_set_local_only(GTK_FILE_CHOOSER(file_chooser), FALSE);
#endif
if (action == GTK_FILE_CHOOSER_ACTION_OPEN ||

12
mozilla-build-arm.patch Normal file
View file

@ -0,0 +1,12 @@
diff -up firefox-29.0/mozilla-release/gfx/ycbcr/moz.build.arm firefox-29.0/mozilla-release/gfx/ycbcr/moz.build
--- firefox-29.0/mozilla-release/gfx/ycbcr/moz.build.arm 2014-04-22 07:27:47.000000000 +0200
+++ firefox-29.0/mozilla-release/gfx/ycbcr/moz.build 2014-04-22 16:40:34.862849368 +0200
@@ -61,7 +61,7 @@ else:
'yuv_row_other.cpp',
]
-if CONFIG['CPU_ARCH'] == 'arm' and CONFIG['HAVE_ARM_NEON']:
+if CONFIG['HAVE_ARM_NEON']:
SOURCES += [
'yuv_row_arm.s',
]

View file

@ -1,59 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<component type="desktop-application">
<id>net.thunderbird.Thunderbird.appdata.xml</id>
<metadata_license>CC0-1.0</metadata_license>
<name>Thunderbird</name>
<summary>Thunderbird is a free and open source email, newsfeed, chat, and calendaring client</summary>
<description>
<!-- From https://www.thunderbird.net/en-US/about/ -->
<p>
Thunderbird is a free and open source email, newsfeed, chat, and
calendaring client, thats easy to set up and customize. One of the core
principles of Thunderbird is the use and promotion of open standards -
this focus is a rejection of our world of closed platforms and services
that cant communicate with each other. We want our users to have freedom
and choice in how they communicate.
</p>
<p>
Thunderbird is an open source project, which means anyone can contribute
ideas, designs, code, and time helping fellow users.
</p>
</description>
<categories>
<category>Calendar</category>
<category>Email</category>
<category>Office</category>
</categories>
<url type="homepage">https://www.thunderbird.net/</url>
<url type="bugtracker">https://bugzilla.mozilla.org/</url>
<url type="faq">https://support.mozilla.org/kb/thunderbird-faq/</url>
<url type="help">https://support.mozilla.org/products/thunderbird/</url>
<url type="donation">https://www.thunderbird.net/donate/</url>
<url type="translate">https://www.thunderbird.net/participate/</url>
<project_group>Mozilla</project_group>
<project_license>MPL-2.0</project_license>
<developer_name>Thunderbird Project</developer_name>
<screenshots>
<screenshot type="default">
<image>https://raw.githubusercontent.com/thunderbird/flatpak-screenshots/main/image_1.png</image>
</screenshot>
<screenshot>
<image>https://raw.githubusercontent.com/thunderbird/flatpak-screenshots/main/image_2.png</image>
</screenshot>
</screenshots>
<mimetypes>
<mimetype>message/rfc822</mimetype>
<mimetype>x-scheme-handler/mailto</mimetype>
<mimetype>text/calendar</mimetype>
<mimetype>text/vcard</mimetype>
<mimetype>text/x-vcard</mimetype>
</mimetypes>
<releases>
<release version="__VERSION__" date="__DATE__"/>
</releases>
<update_contact>jhorak@redhat.com</update_contact>
</component>

View file

@ -1,2 +0,0 @@
#!/bin/sh
exec /usr/bin/node "$@" 2>&1 | cat -

View file

@ -0,0 +1,23 @@
diff -up firefox-55.0/js/src/old-configure.in.rhbz-1219542-s390 firefox-55.0/js/src/old-configure.in
--- firefox-55.0/js/src/old-configure.in.rhbz-1219542-s390 2017-07-31 18:20:48.000000000 +0200
+++ firefox-55.0/js/src/old-configure.in 2017-08-02 14:31:32.190243669 +0200
@@ -541,7 +541,7 @@ case "$host" in
*-linux*|*-kfreebsd*-gnu|*-gnu*)
HOST_CFLAGS="$HOST_CFLAGS -DXP_UNIX"
- HOST_OPTIMIZE_FLAGS="${HOST_OPTIMIZE_FLAGS=-O3}"
+ HOST_OPTIMIZE_FLAGS="${HOST_OPTIMIZE_FLAGS=-O1}"
;;
*)
@@ -617,8 +617,8 @@ case "$target" in
*-*linux*)
if test "$GNU_CC" -o "$GNU_CXX"; then
- MOZ_PGO_OPTIMIZE_FLAGS="-O3"
- MOZ_OPTIMIZE_FLAGS="-O3"
+ MOZ_PGO_OPTIMIZE_FLAGS="-O1"
+ MOZ_OPTIMIZE_FLAGS="-O1"
if test -z "$CLANG_CC"; then
MOZ_OPTIMIZE_FLAGS="-freorder-blocks $MOZ_OPTIMIZE_FLAGS"
fi

12
rhbz-1354671.patch Normal file
View file

@ -0,0 +1,12 @@
diff -up firefox-53.0/layout/base/nsIPresShell.h.1354671 firefox-53.0/layout/base/nsIPresShell.h
--- firefox-53.0/layout/base/nsIPresShell.h.1354671 2017-04-27 13:07:43.808653320 +0200
+++ firefox-53.0/layout/base/nsIPresShell.h 2017-04-27 13:09:40.404427641 +0200
@@ -212,7 +212,7 @@ public:
* to the same aSize value. AllocateFrame is infallible and will abort
* on out-of-memory.
*/
- void* AllocateFrame(nsQueryFrame::FrameIID aID, size_t aSize)
+ void* __attribute__((optimize("no-lifetime-dse"))) AllocateFrame(nsQueryFrame::FrameIID aID, size_t aSize)
{
void* result = mFrameArena.AllocateByFrameID(aID, aSize);
RecordAlloc(result);

View file

@ -1,76 +0,0 @@
--- thunderbird-102.10.0/build/moz.configure/rust.configure.rustflags-commasplit 2023-03-21 06:16:03.000000000 -0700
+++ thunderbird-102.10.0/build/moz.configure/rust.configure 2023-04-05 08:57:29.403219120 -0700
@@ -593,7 +593,7 @@
# ==============================================================
-option(env="RUSTFLAGS", nargs=1, help="Rust compiler flags")
+option(env="RUSTFLAGS", nargs=1, help="Rust compiler flags", comma_split=False)
set_config("RUSTFLAGS", depends("RUSTFLAGS")(lambda flags: flags))
--- thunderbird-102.10.0/python/mozbuild/mozbuild/configure/options.py.rustflags-commasplit 2023-03-21 06:16:09.000000000 -0700
+++ thunderbird-102.10.0/python/mozbuild/mozbuild/configure/options.py 2023-04-05 08:57:31.270193468 -0700
@@ -191,6 +191,10 @@
to instantiate an option indirectly. Set this to a positive integer to
force the script to look into a deeper stack frame when inferring the
`category`.
+ - `comma_split` specifies whether the value string should be split on
+ commas. The default is True. Setting it False is necessary for things
+ like compiler flags which should be a single string that may contain
+ commas.
"""
__slots__ = (
@@ -205,6 +209,7 @@
"possible_origins",
"category",
"define_depth",
+ "comma_split",
)
def __init__(
@@ -218,6 +223,7 @@
category=None,
help=None,
define_depth=0,
+ comma_split=True,
):
if not name and not env:
raise InvalidOptionError(
@@ -335,9 +341,10 @@
self.choices = choices
self.help = help
self.category = category or _infer_option_category(define_depth)
+ self.comma_split = comma_split
@staticmethod
- def split_option(option):
+ def split_option(option, comma_split=True):
"""Split a flag or variable into a prefix, a name and values
Variables come in the form NAME=values (no prefix).
@@ -350,7 +357,13 @@
elements = option.split("=", 1)
name = elements[0]
- values = tuple(elements[1].split(",")) if len(elements) == 2 else ()
+ if len(elements) == 2:
+ if comma_split:
+ values = tuple(elements[1].split(","))
+ else:
+ values = (elements[1],)
+ else:
+ values = ()
if name.startswith("--"):
name = name[2:]
if not name.islower():
@@ -426,7 +439,7 @@
% (option, origin, ", ".join(self.possible_origins))
)
- prefix, name, values = self.split_option(option)
+ prefix, name, values = self.split_option(option, self.comma_split)
option = self._join_option(prefix, name)
assert name in (self.name, self.env)

View file

@ -1,3 +1,3 @@
SHA512 (cbindgen-vendor.tar.xz) = 4127d3060577284eea29d697ccc2394742674f6094b7f497a95a0c3b8aa9e0494b720de8858ad31d4a6b0cd1b9586454f3c52c8088163c2709883d882e0136db
SHA512 (thunderbird-147.0.source.tar.xz) = d04a135f23572123d5cca41c2611704aa06cb81e0226c89c267dc527f59fb0d9d5d8b8a49cd126626c2fd934624c9d2420ae71dd10a912b3011f3342fbaf7511
SHA512 (thunderbird-langpacks-147.0-20260114.tar.xz) = e97f2894c0bbea00c35e5d8f0046d1d7112efb17d3af5d8a6f964c54352f9f6edbcbd4d41cc2595cb63e1116ae78680c9d42e65dc0eb0ff17e4a9d4ad97ec7ab
SHA512 (thunderbird-60.3.1.source.tar.xz) = d52a8acee19b0acaee3c23dd76aa966c7eb4b04ebefd0bc81305b6af6a90c25c6d60d7b64f5b94c2b53eeb548d5d0d903899a468f6c80726fe0079ec7c926a8c
SHA512 (thunderbird-langpacks-60.3.1-20181122.tar.xz) = f4c96c3b22532a3291c94b8081c3a8c1c5a69bd057ea55b362a8b4dc0f1eda2ae56e97d28b240b8ae7120fdc20fe3d62d343cc3bd4e3771c9f4ddc1ba67489d1
SHA512 (lightning-langpacks-60.3.1.tar.xz) = f8ee97e8d03cc6b360b28bc82692718bd96a6d670d1876222fd64c06f485112dc6fc721bdedff3b49bac4a379047b461b0299ef226413193c9de08c1c1301780

View file

@ -0,0 +1,212 @@
diff -up thunderbird-60.3.0/toolkit/components/remote/nsDBusRemoteService.cpp.old thunderbird-60.3.0/toolkit/components/remote/nsDBusRemoteService.cpp
--- thunderbird-60.3.0/toolkit/components/remote/nsDBusRemoteService.cpp.old 2018-10-30 12:45:34.000000000 +0100
+++ thunderbird-60.3.0/toolkit/components/remote/nsDBusRemoteService.cpp 2018-11-14 13:37:32.223714689 +0100
@@ -174,6 +174,7 @@ nsDBusRemoteService::Startup(const char*
return NS_ERROR_FAILURE;
}
dbus_connection_set_exit_on_disconnect(mConnection, false);
+ dbus_connection_setup_with_g_main(mConnection, nullptr);
mAppName = aAppName;
ToLowerCase(mAppName);
diff -up thunderbird-60.3.0/toolkit/components/remote/nsRemoteService.cpp.old thunderbird-60.3.0/toolkit/components/remote/nsRemoteService.cpp
--- thunderbird-60.3.0/toolkit/components/remote/nsRemoteService.cpp.old 2018-11-20 10:55:35.584756422 +0100
+++ thunderbird-60.3.0/toolkit/components/remote/nsRemoteService.cpp 2018-11-14 13:37:32.244714628 +0100
@@ -34,20 +34,18 @@ NS_IMPL_ISUPPORTS(nsRemoteService,
NS_IMETHODIMP
nsRemoteService::Startup(const char* aAppName, const char* aProfileName)
{
-#if 0
+#if defined(MOZ_ENABLE_DBUS) && defined(MOZ_WAYLAND)
nsresult rv;
mDBusRemoteService = new nsDBusRemoteService();
rv = mDBusRemoteService->Startup(aAppName, aProfileName);
if (NS_FAILED(rv)) {
mDBusRemoteService = nullptr;
}
+#elif !defined(MOZ_WAYLAND)
+ mGtkRemoteService = new nsGTKRemoteService();
+ mGtkRemoteService->Startup(aAppName, aProfileName);
#endif
- if (GDK_IS_X11_DISPLAY(gdk_display_get_default())) {
- mGtkRemoteService = new nsGTKRemoteService();
- mGtkRemoteService->Startup(aAppName, aProfileName);
- }
-
if (!mDBusRemoteService && !mGtkRemoteService)
return NS_ERROR_FAILURE;
@@ -73,7 +71,7 @@ nsRemoteService::RegisterWindow(mozIDOMW
NS_IMETHODIMP
nsRemoteService::Shutdown()
{
-#if defined(MOZ_ENABLE_DBUS)
+#if defined(MOZ_ENABLE_DBUS) && defined(MOZ_WAYLAND)
if (mDBusRemoteService) {
mDBusRemoteService->Shutdown();
mDBusRemoteService = nullptr;
diff -up thunderbird-60.3.0/toolkit/components/remote/nsXRemoteService.cpp.old thunderbird-60.3.0/toolkit/components/remote/nsXRemoteService.cpp
--- thunderbird-60.3.0/toolkit/components/remote/nsXRemoteService.cpp.old 2018-10-30 12:45:34.000000000 +0100
+++ thunderbird-60.3.0/toolkit/components/remote/nsXRemoteService.cpp 2018-10-31 01:08:14.000000000 +0100
@@ -192,5 +192,5 @@ nsXRemoteService::EnsureAtoms(void)
sMozUserAtom = XAtoms[i++];
sMozProfileAtom = XAtoms[i++];
sMozProgramAtom = XAtoms[i++];
- sMozCommandLineAtom = XAtoms[i++];
+ sMozCommandLineAtom = XAtoms[i];
}
diff -up thunderbird-60.3.0/widget/xremoteclient/DBusRemoteClient.cpp.old thunderbird-60.3.0/widget/xremoteclient/DBusRemoteClient.cpp
--- thunderbird-60.3.0/widget/xremoteclient/DBusRemoteClient.cpp.old 2018-10-30 12:45:35.000000000 +0100
+++ thunderbird-60.3.0/widget/xremoteclient/DBusRemoteClient.cpp 2018-11-14 13:37:32.224714686 +0100
@@ -12,6 +12,7 @@
#include "mozilla/Base64.h"
#include "nsPrintfCString.h"
+#include <dbus/dbus-glib-lowlevel.h>
#include <dlfcn.h>
using mozilla::LogLevel;
@@ -43,6 +44,7 @@ DBusRemoteClient::Init()
return NS_ERROR_FAILURE;
dbus_connection_set_exit_on_disconnect(mConnection, false);
+ dbus_connection_setup_with_g_main(mConnection, nullptr);
return NS_OK;
}
diff -up thunderbird-60.3.0/widget/xremoteclient/moz.build.old thunderbird-60.3.0/widget/xremoteclient/moz.build
--- thunderbird-60.3.0/widget/xremoteclient/moz.build.old 2018-10-31 01:08:14.000000000 +0100
+++ thunderbird-60.3.0/widget/xremoteclient/moz.build 2018-11-14 13:37:32.244714628 +0100
@@ -11,7 +11,6 @@ FINAL_LIBRARY = 'xul'
SOURCES += [
'RemoteUtils.cpp',
- 'XRemoteClient.cpp',
]
if CONFIG['MOZ_ENABLE_DBUS'] and CONFIG['MOZ_WAYLAND']:
@@ -20,3 +19,7 @@ if CONFIG['MOZ_ENABLE_DBUS'] and CONFIG[
]
CXXFLAGS += CONFIG['TK_CFLAGS']
CXXFLAGS += CONFIG['MOZ_DBUS_GLIB_CFLAGS']
+else:
+ SOURCES += [
+ 'XRemoteClient.cpp',
+ ]
diff -up thunderbird-60.3.0/widget/xremoteclient/XRemoteClient.cpp.old thunderbird-60.3.0/widget/xremoteclient/XRemoteClient.cpp
--- thunderbird-60.3.0/widget/xremoteclient/XRemoteClient.cpp.old 2018-10-30 12:45:37.000000000 +0100
+++ thunderbird-60.3.0/widget/xremoteclient/XRemoteClient.cpp 2018-10-31 01:08:15.000000000 +0100
@@ -9,6 +9,7 @@
#include "mozilla/ArrayUtils.h"
#include "mozilla/IntegerPrintfMacros.h"
#include "mozilla/Sprintf.h"
+#include "mozilla/Unused.h"
#include "XRemoteClient.h"
#include "RemoteUtils.h"
#include "plstr.h"
@@ -41,7 +42,7 @@
#else
#define TO_LITTLE_ENDIAN32(x) (x)
#endif
-
+
#ifndef MAX_PATH
#ifdef PATH_MAX
#define MAX_PATH PATH_MAX
@@ -51,6 +52,7 @@
#endif
using mozilla::LogLevel;
+using mozilla::Unused;
static mozilla::LazyLogModule sRemoteLm("XRemoteClient");
@@ -118,7 +120,7 @@ XRemoteClient::Init()
mMozUserAtom = XAtoms[i++];
mMozProfileAtom = XAtoms[i++];
mMozProgramAtom = XAtoms[i++];
- mMozCommandLineAtom = XAtoms[i++];
+ mMozCommandLineAtom = XAtoms[i];
mInitialized = true;
@@ -472,12 +474,12 @@ XRemoteClient::FindBestWindow(const char
// pass in a program name and this window doesn't support that
// protocol, we don't include it in our list.
if (aProgram && strcmp(aProgram, "any")) {
- status = XGetWindowProperty(mDisplay, w, mMozProgramAtom,
- 0, (65536 / sizeof(long)),
- False, XA_STRING,
- &type, &format, &nitems, &bytesafter,
- &data_return);
-
+ Unused << XGetWindowProperty(mDisplay, w, mMozProgramAtom,
+ 0, (65536 / sizeof(long)),
+ False, XA_STRING,
+ &type, &format, &nitems, &bytesafter,
+ &data_return);
+
// If the return name is not the same as what someone passed in,
// we don't want this window.
if (data_return) {
@@ -507,11 +509,11 @@ XRemoteClient::FindBestWindow(const char
}
if (username) {
- status = XGetWindowProperty(mDisplay, w, mMozUserAtom,
- 0, (65536 / sizeof(long)),
- False, XA_STRING,
- &type, &format, &nitems, &bytesafter,
- &data_return);
+ Unused << XGetWindowProperty(mDisplay, w, mMozUserAtom,
+ 0, (65536 / sizeof(long)),
+ False, XA_STRING,
+ &type, &format, &nitems, &bytesafter,
+ &data_return);
// if there's a username compare it with what we have
if (data_return) {
@@ -529,11 +531,11 @@ XRemoteClient::FindBestWindow(const char
// there is, then we need to make sure it matches what someone
// passed in.
if (aProfile) {
- status = XGetWindowProperty(mDisplay, w, mMozProfileAtom,
- 0, (65536 / sizeof(long)),
- False, XA_STRING,
- &type, &format, &nitems, &bytesafter,
- &data_return);
+ Unused << XGetWindowProperty(mDisplay, w, mMozProfileAtom,
+ 0, (65536 / sizeof(long)),
+ False, XA_STRING,
+ &type, &format, &nitems, &bytesafter,
+ &data_return);
// If there's a profile compare it with what we have
if (data_return) {
diff -up thunderbird-60.3.0/toolkit/xre/nsAppRunner.cpp.old thunderbird-60.3.0/toolkit/xre/nsAppRunner.cpp
--- thunderbird-60.3.0/toolkit/xre/nsAppRunner.cpp.old 2018-11-22 10:24:36.980367239 +0100
+++ thunderbird-60.3.0/toolkit/xre/nsAppRunner.cpp 2018-11-22 10:23:22.702553710 +0100
@@ -1830,18 +1830,13 @@ StartRemoteClient(const char* aDesktopSt
{
nsAutoPtr<nsRemoteClient> client;
- if (aIsX11Display) {
- client = new XRemoteClient();
- } else {
#if defined(MOZ_ENABLE_DBUS) && defined(MOZ_WAYLAND)
- client = new DBusRemoteClient();
+ client = new DBusRemoteClient();
#else
- MOZ_ASSERT(false, "Missing remote implementation!");
- return REMOTE_NOT_FOUND;
+ client = new XRemoteClient();
#endif
- }
- nsresult rv = client->Init();
+ nsresult rv = client ? client->Init() : NS_ERROR_FAILURE;
if (NS_FAILED(rv))
return REMOTE_NOT_FOUND;

View file

@ -1,41 +1,26 @@
mk_add_options MOZ_CO_PROJECT=mail
ac_add_options --enable-application=comm/mail
mk_add_options AUTOCONF=autoconf-2.13
ac_add_options --enable-default-toolkit=cairo-gtk3-wayland
ac_add_options --prefix="$PREFIX"
ac_add_options --libdir="$LIBDIR"
ac_add_options --with-system-jpeg
ac_add_options --with-system-zlib
ac_add_options --with-system-libvpx
ac_add_options --with-pthreads
ac_add_options --disable-tests
ac_add_options --disable-strip
#ac_add_options --enable-libnotify
ac_add_options --enable-necko-wifi
# temporary disable system cairo, because compilation fails
ac_add_options --disable-necko-wifi
ac_add_options --disable-updater
ac_add_options --enable-chrome-format=omni
ac_add_options --enable-pulseaudio
ac_add_options --enable-av1
ac_add_options --without-system-icu
ac_add_options --enable-release
ac_add_options --update-channel=esr
ac_add_options --allow-addon-sideload
ac_add_options --enable-js-shell
ac_add_options --with-unsigned-addon-scopes=app,system
ac_add_options --without-wasm-sandboxed-libraries
ac_add_options --disable-bootstrap
ac_add_options --without-sysroot
ac_add_options --enable-startup-notification
ac_add_options --enable-pie
ac_add_options --with-system-icu
#mk_add_options AUTOCONF=autoconf-2.13
#ac_add_options --enable-default-toolkit=cairo-gtk3-wayland
#ac_add_options --prefix="$PREFIX"
#ac_add_options --libdir="$LIBDIR"
#ac_add_options --with-system-jpeg
#ac_add_options --with-system-zlib
#ac_add_options --with-system-libvpx
#ac_add_options --disable-tests
#ac_add_options --disable-strip
## temporary disable system cairo, because compilation fails
#ac_add_options --disable-necko-wifi
#ac_add_options --disable-updater
#ac_add_options --with-system-icu
# lightning related
ac_add_options --enable-calendar
export BUILD_OFFICIAL=1
export MOZILLA_OFFICIAL=1

View file

@ -15,13 +15,11 @@ pref("mailnews.database.global.indexer.enabled", false);
/* Do not switch to Smart Folders after upgrade to 3.0b4 */
pref("mail.folder.views.version", "1");
pref("extensions.shownSelectionUI", true);
pref("extensions.autoDisableScopes", 0);
pref("extensions.autoDisableScope", 0);
/* For rhbz#1024232 */
pref("ui.SpellCheckerUnderlineStyle", 1);
/* Workaround for rhbz#1753011 */
pref("spellchecker.dictionary_path", "/usr/share/myspell");
/* Workaround for rhbz#1134876 */
pref("javascript.options.baselinejit", false);
/* Workaround for rhbz#1110291 */
@ -30,7 +28,4 @@ pref("network.negotiate-auth.allow-insecure-ntlm-v1", true);
pref("security.use_mozillapkix_verification", false);
/* Use OS settings for UI language */
pref("intl.locale.requested", "");
/* Disable telemetry */
pref("datareporting.healthreport.uploadEnabled", false);
pref("datareporting.policy.dataSubmissionEnabled", false);
pref("toolkit.telemetry.archive.enabled", false);

View file

@ -1,76 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="16"
height="16"
viewBox="0 0 4.2333332 4.2333335"
version="1.1"
id="svg826"
inkscape:version="0.92+devel unknown"
sodipodi:docname="thunderbird-symbolic.svg">
<defs
id="defs820" />
<sodipodi:namedview
id="base"
pagecolor="#555753"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="1"
inkscape:pageshadow="2"
inkscape:zoom="32"
inkscape:cx="14.909311"
inkscape:cy="6.5299379"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
inkscape:document-rotation="0"
showgrid="false"
units="px"
inkscape:window-width="1920"
inkscape:window-height="1136"
inkscape:window-x="1920"
inkscape:window-y="27"
inkscape:window-maximized="1"
inkscape:snap-global="true" />
<metadata
id="metadata823">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-292.76664)">
<path
style="fill:#bebebe;fill-opacity:1;stroke-width:0.50472808;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1.00945637, 3.02836921000000014"
d="M 6.2871094 0.6796875 C 5.4163558 0.91578892 4.8510898 1.5936957 4.5292969 2.1464844 C 2.421315 3.2450921 0.99225272 5.3610823 0.9921875 7.7949219 C 0.99477587 10.359489 2.3110205 12.446765 4.71875 13.445312 C 3.4595645 12.812546 2.2935825 11.525048 1.9707031 10.179688 C 1.7935937 9.4417327 1.7111632 8.3804473 1.7871094 7.8671875 C 2.0153769 8.1799434 2.3679623 8.3686337 2.6191406 8.3535156 C 2.4938628 8.2316259 2.1405878 7.2674351 2.2246094 6.7109375 C 2.3603578 5.8118257 3.1848776 4.5727304 3.6171875 4.3652344 C 3.5950724 4.1994643 3.6227354 4.5729785 3.6347656 4.6757812 C 3.6727178 5.0001403 3.7890738 5.2722323 3.7246094 5.5625 C 3.6729882 5.7950165 3.4515893 6.0294455 3.4980469 6.4824219 C 3.5108599 6.6073731 3.6284702 6.8445848 3.7539062 6.9277344 C 3.7535036 6.9231566 3.7580261 6.9016692 3.7578125 6.8964844 C 4.1688563 6.4878098 4.2988638 6.3923311 4.8164062 6.1835938 C 5.3947783 5.9504725 5.7292796 5.4840924 6.5429688 5.3242188 C 7.1567719 5.2036518 7.7980995 5.4618768 8.4160156 5.4316406 C 8.9595412 5.4051839 9.6230469 5.3164062 9.6230469 5.3164062 C 9.6230469 5.3164062 10.529591 6.3734458 10.554688 8.0839844 C 10.561372 8.5399466 10.393117 9.2581935 10.080078 9.6074219 C 10.10866 9.6301636 10.842076 9.8181331 11.496094 8.9296875 L 11.496094 8.9277344 C 11.500502 8.9217421 11.509138 8.9123452 11.513672 8.90625 C 11.511804 8.9162203 11.509634 8.919117 11.507812 8.9296875 C 11.082979 11.395346 10.343305 12.786026 9.3730469 13.716797 L 9.3652344 13.716797 C 9.1593686 13.914136 8.9415569 14.089651 8.7167969 14.253906 C 8.6515695 14.300524 8.584386 14.344389 8.5175781 14.388672 C 8.3185959 14.523496 8.1179918 14.6549 7.9042969 14.771484 C 7.453226 15.017472 9.0852392 14.946167 10.126953 14.476562 C 10.157938 14.470814 10.189917 14.46715 10.220703 14.460938 C 9.8033537 14.744465 9.3535156 15 9.3535156 15 C 9.3535156 15 10.890634 14.899538 11.974609 13.804688 C 11.975453 13.803262 11.975783 13.800425 11.976562 13.798828 C 13.818222 12.736706 15.007176 10.687802 15.007812 8.21875 C 15.005272 5.4392694 13.347542 2.9608845 10.865234 2.0253906 C 9.9215437 1.5797455 8.881353 1.3464382 7.8261719 1.34375 C 7.5325222 1.3437527 7.2448312 1.3664635 6.9609375 1.4003906 C 6.9469035 1.339967 6.9417802 1.323023 6.9726562 1.203125 C 6.8504944 1.2378967 6.8589251 1.2466706 6.7519531 1.2988281 C 6.7527631 1.1850643 6.7593232 1.2159555 6.7519531 1.0976562 C 6.5269885 1.1694673 6.5079647 1.1993654 6.3398438 1.3085938 C 6.3964573 1.0867355 6.399826 1.1278526 6.5527344 0.88671875 C 6.3493259 0.94186206 6.0726487 1.1030774 5.7460938 1.4511719 C 5.8509855 1.1114301 5.9907037 1.0292938 6.2871094 0.6796875 z "
transform="matrix(0.26458333,0,0,0.26458333,0,292.76664)"
id="path24330" />
<path
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#bebebe;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.26511249;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter-blend-mode:normal;filter-gaussianBlur-deviation:0;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;opacity:1"
d="M 0.81054688 293.97852 L 0.59179688 294.12695 L 1.4453125 295.40234 L 2.9335938 294.85156 L 2.8417969 294.60352 L 1.5507812 295.08008 L 0.81054688 293.97852 z "
id="path24387" />
<path
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#bebebe;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 1.7871094,9.8730469 0.1210937,0.5820311 -0.1230469,-0.02344 c 0,0 0.2754046,0.874485 0.8561662,1.437975 0.5080908,0.49319 0.9335266,1.121624 2.1243026,1.601087 C 4.3317049,12.663641 4.1812012,12.346136 3.9980469,11.6875 l 0.2128906,0.07031 C 4.5424397,12.049861 4.8536251,12.30456 5.5800781,12.4375 5.4786992,12.266213 5.448324,12.238135 5.3847656,12.142578 l 4.7363284,1.554688 0.316406,-0.945313 z"
transform="matrix(0.26458333,0,0,0.26458333,0,292.76664)"
id="path24379"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccccccccc" />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 7.8 KiB

View file

@ -3,7 +3,7 @@ Version=1.0
Name=Thunderbird on Wayland
GenericName=Email
Comment=Send and Receive Email
Exec=thunderbird-wayland --name thunderbird-wayland %u
Exec=thunderbird-wayland %u
TryExec=thunderbird-wayland
Icon=thunderbird
Terminal=false

View file

@ -2,5 +2,6 @@
#
# Run Thunderbird under Wayland
#
export MOZ_ENABLE_WAYLAND=1
exec __PREFIX__/bin/thunderbird "$@"
export GDK_BACKEND=wayland
exec /usr/bin/thunderbird "$@"

View file

@ -8,7 +8,7 @@ TryExec=thunderbird
Icon=thunderbird
Terminal=false
Type=Application
MimeType=message/rfc822;x-scheme-handler/mailto;text/calendar;text/vcard;text/x-vcard;x-scheme-handler/webcal;x-scheme-handler/webcals;x-scheme-handler/mid;
MimeType=message/rfc822;x-scheme-handler/mailto;
StartupNotify=true
Categories=Network;Email;
Name[cs]=Poštovní klient Thunderbird

View file

@ -10,12 +10,12 @@
MOZ_ARCH=$(uname -m)
case $MOZ_ARCH in
x86_64 | s390x | sparc64 )
MOZ_LIB_DIR="__PREFIX__/lib64"
SECONDARY_LIB_DIR="__PREFIX__/lib"
MOZ_LIB_DIR="/usr/lib64"
SECONDARY_LIB_DIR="/usr/lib"
;;
* )
MOZ_LIB_DIR="__PREFIX__/lib"
SECONDARY_LIB_DIR="__PREFIX__/lib64"
MOZ_LIB_DIR="/usr/lib"
SECONDARY_LIB_DIR="/usr/lib64"
;;
esac
@ -36,6 +36,13 @@ MOZ_LANGPACKS_DIR="$MOZ_DIST_BIN/langpacks"
MOZ_EXTENSIONS_PROFILE_DIR="$HOME/.mozilla/extensions/{3550f703-e582-4d05-9a08-453d09bdfdc6}"
MOZ_LAUNCHER="$MOZ_DIST_BIN/thunderbird"
##
## Enable X11 backend by default?
##
if ! [ "$GDK_BACKEND" ]; then
export GDK_BACKEND=x11
fi
##
## Set MOZ_ENABLE_PANGO is no longer used because Pango is enabled by default
## you may use MOZ_DISABLE_PANGO=1 to force disabling of pango
@ -46,7 +53,7 @@ MOZ_LAUNCHER="$MOZ_DIST_BIN/thunderbird"
##
## Set MOZ_APP_LAUNCHER for gnome-session
##
export MOZ_APP_LAUNCHER="__PREFIX__/bin/thunderbird"
export MOZ_APP_LAUNCHER="/usr/bin/thunderbird"
##
## Disable the GNOME crash dialog, Moz has it's own
@ -59,15 +66,6 @@ export GNOME_DISABLE_CRASH_DIALOG
##
export G_SLICE=always-malloc
# Flatpak specific environment variables
%FLATPAK_ENV_VARS%
##
## Allow downgrade because during distro upgrade the build time can be
## older in newer version than the previous one.
##
export MOZ_ALLOW_DOWNGRADE=1
##
## To disable the use of Firefox localization, set MOZ_DISABLE_LANGPACKS=1
## in your environment before launching Firefox.
@ -77,15 +75,6 @@ export MOZ_ALLOW_DOWNGRADE=1
# export MOZ_DISABLE_LANGPACKS
#
##
## Use D-Bus remote exclusively when there's Wayland display.
##
if [ "$WAYLAND_DISPLAY" ]; then
export MOZ_DBUS_REMOTE=1
fi
__WAYLAND_X11_PLACEHOLDER__
##
## Automatically installed langpacks are tracked by .fedora-langpack-install
## config file.
@ -171,7 +160,4 @@ do
esac
done
# Don't throw "old profile" dialog box.
export MOZ_ALLOW_DOWNGRADE=1
exec $MOZ_PROGRAM "$@"

File diff suppressed because it is too large Load diff