summaryrefslogtreecommitdiff
path: root/www/firefox-esr/files
diff options
context:
space:
mode:
Diffstat (limited to 'www/firefox-esr/files')
-rw-r--r--www/firefox-esr/files/patch-bug187636623
-rw-r--r--www/firefox-esr/files/patch-bug187663235
2 files changed, 35 insertions, 23 deletions
diff --git a/www/firefox-esr/files/patch-bug1876366 b/www/firefox-esr/files/patch-bug1876366
deleted file mode 100644
index 78483c3fbab7..000000000000
--- a/www/firefox-esr/files/patch-bug1876366
+++ /dev/null
@@ -1,23 +0,0 @@
-commit 46a89fb0319d673b3139a068e3d89aed9f44fc16
-Author: Christoph Moench-Tegeder <cmt@burggraben.net>
-
- use gdk legacy cursor interface by default
-
- Upstream https://bugzilla.mozilla.org/show_bug.cgi?id=1876366#c16
- hints that we could re-test this once we have GTK 3.24.42 (with the
- now-current gtk3-3.24.41 the original problem is still reproducable,
- but toggling this flag does fix it for me)
-
-diff --git modules/libpref/init/StaticPrefList.yaml modules/libpref/init/StaticPrefList.yaml
-index 835450712a12..f2249006c36d 100644
---- modules/libpref/init/StaticPrefList.yaml
-+++ modules/libpref/init/StaticPrefList.yaml
-@@ -16070,7 +16070,7 @@
- # Whether to use gtk legacy cursor API.
- - name: widget.gtk.legacy-cursors.enabled
- type: bool
-- value: false
-+ value: true
- mirror: always
-
- # Whether to use gtk high contrast themes to disable content styling like on
diff --git a/www/firefox-esr/files/patch-bug1876632 b/www/firefox-esr/files/patch-bug1876632
new file mode 100644
index 000000000000..3932b1deccc9
--- /dev/null
+++ b/www/firefox-esr/files/patch-bug1876632
@@ -0,0 +1,35 @@
+commit 4f531ca86d24be5d4de673f6e652ed899151d20c
+Author: Jesper Schmitz Mouridsen <jesper@schmitz.computer>
+Date: Wed Jul 23 22:01:31 2025 +0000
+
+ Bug 1876632 Fix aslr allocations on FreeBSD r=spidermonkey-reviewers,sfink
+
+ Without the alignment flag the desired address
+ gets randomized by aslr in a way which causes it to not
+ be aligned. Furthermore the TryToAlignChunk almost always
+ fails. With this fix it never gets to TryToAlignChunk
+ because the flag guarantees upfront alignment.
+
+ Differential Revision: https://phabricator.services.mozilla.com/D257824
+
+diff --git js/src/gc/Memory.cpp js/src/gc/Memory.cpp
+index e790f1784ede..13639c9a6eb4 100644
+--- js/src/gc/Memory.cpp
++++ js/src/gc/Memory.cpp
+@@ -608,7 +608,16 @@ static void* MapAlignedPagesRandom(size_t length, size_t alignment) {
+ for (size_t i = 1; i <= 1024; ++i) {
+ if (i & 0xf) {
+ uint64_t desired = alignment * GetNumberInRange(minNum, maxNum);
++# if defined(__FreeBSD__) && defined(__aarch64__)
++ int flags = MAP_PRIVATE | MAP_ANON |
++ MAP_ALIGNED(mozilla::CeilingLog2Size(alignment));
++ region = MozTaggedAnonymousMmap((void*)(uintptr_t)desired, length,
++ int(PageAccess::ReadWrite), flags, -1, 0,
++ "js-gc-heap");
++# else
+ region = MapMemoryAtFuzzy(reinterpret_cast<void*>(desired), length);
++
++# endif
+ if (!region) {
+ continue;
+ }