diff options
| -rw-r--r-- | gnu/local.mk | 1 | ||||
| -rw-r--r-- | gnu/packages/gnuzilla.scm | 8 | ||||
| -rw-r--r-- | gnu/packages/patches/mozjs-fix-garbage-collector-tracer.patch | 26 |
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 @@ | |||
| 1 | From bf1994b05baea60f84309475cd544fe89acf82f2 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Itms <itms@wildfiregames.com> | ||
| 3 | Date: Sat, 9 Aug 2025 15:32:20 +0000 | ||
| 4 | Subject: [PATCH] Bug 1982134 - Choose specific callback in | ||
| 5 | removeBlackRootsTracer. r=sfink | ||
| 6 | |||
| 7 | This fixes a regression introduced in the refactoring at Bug 1846835 / D185307 | ||
| 8 | |||
| 9 | Differential Revision: https://phabricator.services.mozilla.com/D260541 | ||
| 10 | --- | ||
| 11 | js/src/gc/GC.cpp | 2 +- | ||
| 12 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
| 13 | |||
| 14 | diff --git a/js/src/gc/GC.cpp b/js/src/gc/GC.cpp | ||
| 15 | index 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) { | ||
