summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/gnuzilla.scm8
-rw-r--r--gnu/packages/patches/mozjs-fix-garbage-collector-tracer.patch26
3 files changed, 34 insertions, 1 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index c77989ed8ad..17255ab71b5 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1960,6 +1960,7 @@ dist_patch_DATA = \
1960 %D%/packages/patches/miopen-zstd.patch \ 1960 %D%/packages/patches/miopen-zstd.patch \
1961 %D%/packages/patches/mit-krb5-hurd.patch \ 1961 %D%/packages/patches/mit-krb5-hurd.patch \
1962 %D%/packages/patches/mitm-cache-head-requests.patch \ 1962 %D%/packages/patches/mitm-cache-head-requests.patch \
1963 %D%/packages/patches/mozjs-fix-garbage-collector-tracer.patch \
1963 %D%/packages/patches/mpc123-initialize-ao.patch \ 1964 %D%/packages/patches/mpc123-initialize-ao.patch \
1964 %D%/packages/patches/mpg321-CVE-2019-14247.patch \ 1965 %D%/packages/patches/mpg321-CVE-2019-14247.patch \
1965 %D%/packages/patches/mpg321-gcc-10.patch \ 1966 %D%/packages/patches/mpg321-gcc-10.patch \
diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm
index 96bb8f51b93..4c9d883531b 100644
--- a/gnu/packages/gnuzilla.scm
+++ b/gnu/packages/gnuzilla.scm
@@ -307,7 +307,13 @@ in C/C++.")
307 version "esr.source.tar.xz")) 307 version "esr.source.tar.xz"))
308 (sha256 308 (sha256
309 (base32 309 (base32
310 "1a3h7p7126pxzpidb1lqckvhfh1had805mai4l96mnc878phbx61")))) 310 "1a3h7p7126pxzpidb1lqckvhfh1had805mai4l96mnc878phbx61"))
311 ;; 0ad requires this version of mozjs, which surfaces a bug
312 ;; related to improper garbage collection.
313 ;; See https://gitea.wildfiregames.com/0ad/0ad/issues/8757,
314 ;; https://codeberg.org/guix/guix/issues/10467.
315 (patches
316 (search-patches "mozjs-fix-garbage-collector-tracer.patch"))))
311 (arguments 317 (arguments
312 (substitute-keyword-arguments arguments 318 (substitute-keyword-arguments arguments
313 ((#:configure-flags flags) 319 ((#:configure-flags flags)
diff --git a/gnu/packages/patches/mozjs-fix-garbage-collector-tracer.patch b/gnu/packages/patches/mozjs-fix-garbage-collector-tracer.patch
new file mode 100644
index 00000000000..201cdc3ad1d
--- /dev/null
+++ b/gnu/packages/patches/mozjs-fix-garbage-collector-tracer.patch
@@ -0,0 +1,26 @@
1From bf1994b05baea60f84309475cd544fe89acf82f2 Mon Sep 17 00:00:00 2001
2From: Itms <itms@wildfiregames.com>
3Date: Sat, 9 Aug 2025 15:32:20 +0000
4Subject: [PATCH] Bug 1982134 - Choose specific callback in
5 removeBlackRootsTracer. r=sfink
6
7This fixes a regression introduced in the refactoring at Bug 1846835 / D185307
8
9Differential Revision: https://phabricator.services.mozilla.com/D260541
10---
11 js/src/gc/GC.cpp | 2 +-
12 1 file changed, 1 insertion(+), 1 deletion(-)
13
14diff --git a/js/src/gc/GC.cpp b/js/src/gc/GC.cpp
15index 79894459df7d9..5e04b1cdf1a00 100644
16--- a/js/src/gc/GC.cpp
17+++ b/js/src/gc/GC.cpp
18@@ -1633,7 +1633,7 @@ bool GCRuntime::addBlackRootsTracer(JSTraceDataOp traceOp, void* data) {
19
20 void GCRuntime::removeBlackRootsTracer(JSTraceDataOp traceOp, void* data) {
21 // Can be called from finalizers
22- MOZ_ALWAYS_TRUE(EraseCallback(blackRootTracers.ref(), traceOp));
23+ MOZ_ALWAYS_TRUE(EraseCallback(blackRootTracers.ref(), traceOp, data));
24 }
25
26 void GCRuntime::setGrayRootsTracer(JSGrayRootsTracer traceOp, void* data) {