pkgsrc-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: pkgsrc/www/firefox



Module Name:    pkgsrc
Committed By:   ryoon
Date:           Wed Sep 23 08:39:50 UTC 2026

Modified Files:
        pkgsrc/www/firefox: Makefile PLIST distinfo mozilla-common.mk
        pkgsrc/www/firefox/files: node-wrapper.sh
        pkgsrc/www/firefox/patches: patch-build_gn__processor.py
            patch-config_makefiles_rust.mk
            patch-nsprpub_pr_src_pthreads_ptsynch.c
            patch-third__party_angle_angle__common__gn_moz.build
            patch-third__party_angle_angle__program__version__id__gn_ANGLEShaderProgramVersion.h-22c710649c380411.rsp.in
Removed Files:
        pkgsrc/www/firefox/patches:
            patch-toolkit_components_remote_nsXRemoteServer.cpp

Log Message:
www/firefox: Update to 156.0.1

Changelog:
156.0.1:
Fixed

  * Fixed the NVDA screen reader not announcing address bar buttons when the
    mouse pointer moves over them. (Bug 2069276)

  * Fixed elements inside a link not showing their CSS :active styles while
    being clicked. (Bug 2067272)

  * Fixed Firefox becoming unresponsive on some pages that use CSS anchor
    positioning. (Bug 2070171)

  * Fixed Firefox windows on macOS 27 immediately returning to maximized after
    being restored by double-clicking the title bar. (Bug 2066632)

  * Fixed Firefox leaking system handles on Windows as content processes were
    started and stopped. (Bug 2069644)

156.0:
New

  * Firefox on macOS can now be set to open automatically when the computer
    starts up, from the Startup section of Settings.

  * Localized Wikipedia and occasional sponsored suggestions in the address bar
    are now available in France, Germany, and Italy. These suggestions can be
    turned off in Firefox Suggest settings.

Fixed

  * Fixed an issue where dragging an image to a new position in a rich-text
    editor could replace it with a long line of text instead of moving it.

  * Fixed high-sample-rate FLAC audio in MP4 failing to play on sites such as
    Bilibili.

  * Fixed subtitles not appearing in the Picture-in-Picture window when they
    are turned on in the video player after the window has already opened.

  * Fixed bookmarks moving out of their folder when the folder and the
    bookmarks inside it were selected and dragged together in the Bookmarks
    sidebar.

  * Fixed the find bar becoming permanently unavailable in a tab after
    reversing the panes in Split View.

  * Fixed some sites failing to load when DNS over HTTPS is enabled and the
    site does not support HTTPS.

  * Fixed Firefox losing all network connectivity for some users with the
    built-in VPN enabled.

  * Fixed an issue on Windows where Firefox could block an auto-hiding taskbar
    from showing.

  * Various security fixes.

Changed

  * Firefox's built-in PDF viewer now starts up to 45% faster.

  * Improved memory and CPU usage when Firefox displays large JPEG images
    scaled down to fit a page.

  * On Windows devices with ARM64 processors, WebRTC video calls may now use
    hardware H264 decoding instead of falling back to software.

Security fixes:
Mozilla Foundation Security Advisory 2026-90
#CVE-2026-92033: Privilege escalation in Firefox for Android
#CVE-2026-92005: Use-after-free in the Audio/Video: Web Codecs component
#CVE-2026-92006: Privilege escalation due to incorrect boundary conditions in
 the Graphics: CanvasWebGL component
#CVE-2026-92007: Privilege escalation due to incorrect boundary conditions in
 the Graphics: CanvasWebGL component
#CVE-2026-92008: Privilege escalation due to incorrect boundary conditions in
 the Graphics: CanvasWebGL component
#CVE-2026-92009: Privilege escalation due to incorrect boundary conditions in
 the Graphics: CanvasWebGL component
#CVE-2026-92010: Privilege escalation due to incorrect boundary conditions in
 the Graphics: CanvasWebGL component
#CVE-2026-92011: Privilege escalation due to incorrect boundary conditions in
 the Graphics: CanvasWebGL component
#CVE-2026-92012: Privilege escalation due to incorrect boundary conditions in
 the Graphics: CanvasWebGL component
#CVE-2026-92013: Privilege escalation due to incorrect boundary conditions in
 the Graphics: CanvasWebGL component
#CVE-2026-92015: Privilege escalation in the WebExtensions component
#CVE-2026-92034: Site isolation issue in the Graphics component
#CVE-2026-92035: Sandbox escape due to incorrect boundary conditions in the
 Graphics component
#CVE-2026-92016: Use-after-free in the Disability Access APIs component
#CVE-2026-92017: Privilege escalation in the DOM: Service Workers component
#CVE-2026-92018: Sandbox escape in the DOM: Core & HTML component
#CVE-2026-92019: Mitigation bypass in the Remote Settings Client component
#CVE-2026-92020: Privilege escalation due to incorrect boundary conditions in
 the Graphics: WebRender component
#CVE-2026-92022: Use-after-free in the DOM: HTML Parser component
#CVE-2026-92023: Use-after-free in the XML component
#CVE-2026-92024: Use-after-free in the SVG component
#CVE-2026-92025: Use-after-free in the DOM: Navigation component
#CVE-2026-92026: Use-after-free in the Networking component
#CVE-2026-92036: Incorrect boundary conditions in the Networking: HTTP
 component
#CVE-2026-92027: Use-after-free in the DOM: Streams component
#CVE-2026-92028: Use-after-free in the DOM: Core & HTML component
#CVE-2026-92029: Use-after-free in the SVG component
#CVE-2026-92037: Incorrect boundary conditions in the DOM: Animation component
#CVE-2026-92038: Mitigation bypass in the Remote Settings Client component
#CVE-2026-92039: Mitigation bypass in the DOM: Notifications component
#CVE-2026-92040: Use-after-free in the JavaScript: WebAssembly component
#CVE-2026-92041: Mitigation bypass in the DOM: Networking component
#CVE-2026-92042: Race condition in the DOM: Content Processes component
#CVE-2026-92043: Privilege escalation due to incorrect boundary conditions in
 the Audio/Video component
#CVE-2026-92044: Information disclosure in the Networking: HTTP component
#CVE-2026-92045: Sandbox escape due to incorrect boundary conditions in the
 WebRTC component
#CVE-2026-92030: Mitigation bypass in the DOM: Copy & Paste and Drag & Drop
 component
#CVE-2026-92046: Use-after-free in the Graphics component
#CVE-2026-92047: Privilege escalation in the Crash Reporting component
#CVE-2026-92048: Sandbox escape due to incorrect boundary conditions in the
 Widget: Win32 component
#CVE-2026-92049: Use-after-free in the Widget: Win32 component
#CVE-2026-92050: Sandbox escape due to race condition in the XPConnect
 component
#CVE-2026-92051: Spoofing issue due to invalid pointer in the Graphics
 component
#CVE-2026-92052: Privilege escalation due to uninitialized memory in the
 Graphics: CanvasWebGL component
#CVE-2026-92053: Privilege escalation in the Graphics: CanvasWebGL component
#CVE-2026-92054: Privilege escalation in the Memory component
#CVE-2026-92055: Privilege escalation in the DevTools component
#CVE-2026-92056: Use-after-free in the Graphics: Text component
#CVE-2026-92057: Mitigation bypass in the Enterprise Policies component
#CVE-2026-92031: Information disclosure in the Graphics: ImageLib component
#CVE-2026-92032: Sandbox escape due to invalid pointer in the Graphics
 component
#CVE-2026-92058: Use-after-free in the Graphics component
#CVE-2026-92059: Incorrect boundary conditions in the DOM: Editor component
#CVE-2026-92060: Use-after-free in the Internationalization component
#CVE-2026-92061: Incorrect boundary conditions in the Security: Process
 Sandboxing component
#CVE-2026-92062: Privilege escalation in the Session Restore component
#CVE-2026-92063: Denial-of-service in the Audio/Video component
#CVE-2026-92064: Sandbox escape due to incorrect boundary conditions in the
 Widget: Win32 component
#CVE-2026-92065: Sandbox escape due to incorrect boundary conditions in the
 Widget: Win32 component
#CVE-2026-92066: Sandbox escape in the Profile Backup component
#CVE-2026-92067: Use-after-free in the Widget: Gtk component
#CVE-2026-92068: Site isolation issue in the Reader Mode component
#CVE-2026-92069: Spoofing issue in the DOM: Navigation component
#CVE-2026-92070: Information disclosure in the Networking component
#CVE-2026-92071: Sandbox escape due to incorrect boundary conditions in the
 Widget: Win32 component
#CVE-2026-92072: Incorrect boundary conditions in the Safe Browsing component
#CVE-2026-92073: Privilege escalation in the Enterprise Policies component
#CVE-2026-92074: Mitigation bypass in the Popup Blocker component
#CVE-2026-92075: Mitigation bypass in the Networking component
#CVE-2026-92076: Incorrect boundary conditions in the Networking component
#CVE-2026-92077: Denial-of-service in the SVG component
#CVE-2026-92078: Denial-of-service in the Security component
#CVE-2026-92079: Mitigation bypass in the Widget: Win32 component


To generate a diff of this commit:
cvs rdiff -u -r1.672 -r1.673 pkgsrc/www/firefox/Makefile
cvs rdiff -u -r1.195 -r1.196 pkgsrc/www/firefox/PLIST
cvs rdiff -u -r1.593 -r1.594 pkgsrc/www/firefox/distinfo
cvs rdiff -u -r1.325 -r1.326 pkgsrc/www/firefox/mozilla-common.mk
cvs rdiff -u -r1.41 -r1.42 pkgsrc/www/firefox/files/node-wrapper.sh
cvs rdiff -u -r1.1 -r1.2 \
    pkgsrc/www/firefox/patches/patch-build_gn__processor.py \
    pkgsrc/www/firefox/patches/patch-third__party_angle_angle__common__gn_moz.build \
    pkgsrc/www/firefox/patches/patch-third__party_angle_angle__program__version__id__gn_ANGLEShaderProgramVersion.h-22c710649c380411.rsp.in
cvs rdiff -u -r1.15 -r1.16 \
    pkgsrc/www/firefox/patches/patch-config_makefiles_rust.mk
cvs rdiff -u -r1.3 -r1.4 \
    pkgsrc/www/firefox/patches/patch-nsprpub_pr_src_pthreads_ptsynch.c
cvs rdiff -u -r1.1 -r0 \
    pkgsrc/www/firefox/patches/patch-toolkit_components_remote_nsXRemoteServer.cpp

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: pkgsrc/www/firefox/Makefile
diff -u pkgsrc/www/firefox/Makefile:1.672 pkgsrc/www/firefox/Makefile:1.673
--- pkgsrc/www/firefox/Makefile:1.672   Wed Sep  2 19:04:57 2026
+++ pkgsrc/www/firefox/Makefile Wed Sep 23 08:39:50 2026
@@ -1,18 +1,25 @@
-# $NetBSD: Makefile,v 1.672 2026/09/02 19:04:57 wiz Exp $
+# $NetBSD: Makefile,v 1.673 2026/09/23 08:39:50 ryoon Exp $
 
 FIREFOX_VER=           ${MOZ_BRANCH}${MOZ_BRANCH_MINOR}
-MOZ_BRANCH=            154.0
+MOZ_BRANCH=            156.0
 MOZ_BRANCH_MINOR=      .1
+CANDIDATE_BUILD=       # for release, make this empty
 
 DISTNAME=      firefox-${FIREFOX_VER}.source
-PKGNAME=       ${DISTNAME:S/.source//:S/b/beta/:S/esr//}
-PKGREVISION=   1
+
+.if empty(CANDIDATE_BUILD)
+MASTER_SITES=  ${MASTER_SITE_MOZILLA:=firefox/releases/${FIREFOX_VER}/source/}
+.else
+RCVER=         build${CANDIDATE_BUILD}
+MASTER_SITES=  ${MASTER_SITE_MOZILLA_ALL:=firefox/candidates/${FIREFOX_VER}-candidates/${RCVER}/source/}
+DIST_SUBDIR=   ${PKGNAME_NOREV}
+.endif
+
+PKGNAME=       ${DISTNAME:S/.source/${RCVER:S/build/rc/}/:S/esr//}
 CATEGORIES=    www
-MASTER_SITES+= ${MASTER_SITE_MOZILLA:=firefox/releases/${FIREFOX_VER}/source/}
-MASTER_SITES+= ${MASTER_SITE_MOZILLA_ALL:=firefox/releases/${FIREFOX_VER}/source/}
 EXTRACT_SUFX=  .tar.xz
 
-NODEJSKIT=             nodejs-output-154.0.tgz
+NODEJSKIT=             nodejs-output-156.0.tgz
 DISTFILES=             ${DEFAULT_DISTFILES} ${NODEJSKIT}
 SITES.${NODEJSKIT}=    ${MASTER_SITE_LOCAL}
 

Index: pkgsrc/www/firefox/PLIST
diff -u pkgsrc/www/firefox/PLIST:1.195 pkgsrc/www/firefox/PLIST:1.196
--- pkgsrc/www/firefox/PLIST:1.195      Wed Aug 26 21:44:35 2026
+++ pkgsrc/www/firefox/PLIST    Wed Sep 23 08:39:50 2026
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.195 2026/08/26 21:44:35 gutteridge Exp $
+@comment $NetBSD: PLIST,v 1.196 2026/09/23 08:39:50 ryoon Exp $
 bin/${MOZILLA}
 lib/${MOZILLA}/application.ini
 lib/${MOZILLA}/browser/chrome/icons/default/default128.png
@@ -12,7 +12,7 @@ lib/${MOZILLA}/dependentlibs.list
 lib/${MOZILLA}/${MOZILLA}
 lib/${MOZILLA}/${MOZILLA}-bin
 lib/${MOZILLA}/fonts/TwemojiMozilla.ttf
-lib/${MOZILLA}/glxtest
+lib/${MOZILLA}/gfxtest
 lib/${MOZILLA}/gmp-clearkey/0.1/libclearkey.so
 lib/${MOZILLA}/gmp-clearkey/0.1/manifest.json
 lib/${MOZILLA}/libgkcodecs.so
@@ -29,8 +29,6 @@ lib/${MOZILLA}/pingsender
 lib/${MOZILLA}/platform.ini
 lib/${MOZILLA}/removed-files
 ${PLIST.v4l2_decode}lib/${MOZILLA}/v4l2test
-lib/${MOZILLA}/vaapitest
-lib/${MOZILLA}/vulkantest
 share/applications/${MOZILLA}.desktop
 share/icons/hicolor/128x128/apps/${MOZILLA}.png
 share/icons/hicolor/16x16/apps/${MOZILLA}.png

Index: pkgsrc/www/firefox/distinfo
diff -u pkgsrc/www/firefox/distinfo:1.593 pkgsrc/www/firefox/distinfo:1.594
--- pkgsrc/www/firefox/distinfo:1.593   Tue Sep  1 15:55:09 2026
+++ pkgsrc/www/firefox/distinfo Wed Sep 23 08:39:50 2026
@@ -1,17 +1,17 @@
-$NetBSD: distinfo,v 1.593 2026/09/01 15:55:09 ryoon Exp $
+$NetBSD: distinfo,v 1.594 2026/09/23 08:39:50 ryoon Exp $
 
-BLAKE2s (firefox-154.0.1.source.tar.xz) = af7f275f0ba5056d1e749692e880f5067e56234752ed63f63124a5bf2621e512
-SHA512 (firefox-154.0.1.source.tar.xz) = 9141e34978c2ecbe1b267b3cc63136142625734618e67cbbbf6536e1427af66d01f19851200eba0db7c715991f39e7d5d0200abb9e2cd7c15d58a8a411b1b412
-Size (firefox-154.0.1.source.tar.xz) = 811414168 bytes
-BLAKE2s (nodejs-output-154.0.tgz) = e617ff9a723cb73ee6ec4318528ccd08da98b02995f9185a9d090eecf05cb7b4
-SHA512 (nodejs-output-154.0.tgz) = 2d7dc70f3c49420e33becb7c823263884286f7c93cc53f4b8d0bdb13a20ad0c602853bfafbbd4839b0faf97421e6e01c704cd0682ba7edac347e4834d83738c5
-Size (nodejs-output-154.0.tgz) = 251164 bytes
+BLAKE2s (firefox-156.0.1.source.tar.xz) = dfaef24cc7ad06c7f5e6609574a713e5717fe3a87ecc8feef0cb77530c389123
+SHA512 (firefox-156.0.1.source.tar.xz) = 80a32a79268b672206f5477ca6bfde620cb7419b27aac090e01f06df06990ee0bbd81bb5c4aa78ac1d0edb26b133b1c6fa11cb6522445eccd70c82e719a24d5b
+Size (firefox-156.0.1.source.tar.xz) = 806005992 bytes
+BLAKE2s (nodejs-output-156.0.tgz) = a68eec6f9ef696947fcb3774f08c4aaaee2b5bf6747c483ba7d941d3f8cb6f1a
+SHA512 (nodejs-output-156.0.tgz) = 4ccd7058298390977add2ab87487083bad1a1202174963575e4fa0e14796ec15183502903802395591e98c48abffe6c937958bdafe1332d410978d04899493ad
+Size (nodejs-output-156.0.tgz) = 29 bytes
 SHA1 (patch-browser_app_profile_firefox.js) = f111e03a9c70b6ad5ba64bf95d45302b9256687a
-SHA1 (patch-build_gn__processor.py) = 078f773104bf4c1b30584564aefe365db6ba6daf
+SHA1 (patch-build_gn__processor.py) = c9b2f31787704c3fec466711010ef632199ae385
 SHA1 (patch-build_moz.configure_init.configure) = 65deb3c233df0aab81eb1fca05d708e5a4ed169a
 SHA1 (patch-build_moz.configure_rust.configure) = 25ddfacd29cebbc6db005dbe61a2a7446d480678
 SHA1 (patch-config_gcc-stl-wrapper.template.h) = b5b4f2aef747836b09584b77d6332a7010963b0b
-SHA1 (patch-config_makefiles_rust.mk) = 25eb2d4c99ace2b215917490f28ceb90ab90145f
+SHA1 (patch-config_makefiles_rust.mk) = 62c823e5f11f047a54c7ebcce7534469c3f0d515
 SHA1 (patch-dom_base_nsAttrName.h) = ac7ba441a3b27df2855cf2673eea36b1cb44ad49
 SHA1 (patch-dom_canvas_WebGLMethodDispatcher.h) = 78f6e44116a939615523339fb73ac93f40777749
 SHA1 (patch-dom_media_mediacapabilities_MediaCapabilitiesValidation.cpp) = 2f471067387bb63d530ba1299f0542d3b3a785b6
@@ -40,14 +40,14 @@ SHA1 (patch-media_libpng_pngpriv.h) = ee
 SHA1 (patch-memory_build_mozjemalloc__types.h) = af87ef935653cb845a6b702af2f5645a6ada27db
 SHA1 (patch-mozglue_misc_Now.cpp) = 760724be1bdc4ca6e19edaf2c8df6dd84192d93f
 SHA1 (patch-netwerk_protocol_http_nsHttpHandler.cpp) = 67493b4635041d21ff9fbfda80b3197fed542a26
-SHA1 (patch-nsprpub_pr_src_pthreads_ptsynch.c) = 753fd4d62088c870aefe7c4b739286259848446e
+SHA1 (patch-nsprpub_pr_src_pthreads_ptsynch.c) = c99c3ce679f4196fc3baaf65051471a13d6fe8cd
 SHA1 (patch-python_mozbuild_mozbuild_backend_recursivemake.py) = 5be4183d9075f5a3a3c6b3e0338473af185fb50e
 SHA1 (patch-python_sites_build.txt) = f03f059bbe79bfdf7f1db5475279edb3c9d6ebed
 SHA1 (patch-python_sites_mach.txt) = be62d091430daaa2ceeff3aff07f71275896352f
 SHA1 (patch-third__party_abseil-cpp_absl_debugging_internal_elf__mem__image.cc) = b1067a6804470f7e365f347683b7d505853fd799
 SHA1 (patch-third__party_abseil-cpp_absl_debugging_internal_vdso__support.cc) = f9c44d0d6fd952296f23c24f56053958b30d8e5c
-SHA1 (patch-third__party_angle_angle__common__gn_moz.build) = bf799093eeb61677a257e947d2481a35ddb506f4
-SHA1 (patch-third__party_angle_angle__program__version__id__gn_ANGLEShaderProgramVersion.h-22c710649c380411.rsp.in) = 64de7b9f179adfcd6ab2f2a1af1449631b7080fc
+SHA1 (patch-third__party_angle_angle__common__gn_moz.build) = 836c33a87239f69c9bcf0efedcdfef2094de1467
+SHA1 (patch-third__party_angle_angle__program__version__id__gn_ANGLEShaderProgramVersion.h-22c710649c380411.rsp.in) = 5cd224ceac5a03ff38acb9a07c8958669f10e168
 SHA1 (patch-third__party_angle_angle__program__version__id__gn_moz.build) = b367cb16b059627a6033bdce664ba591ca3527e6
 SHA1 (patch-third__party_angle_src_common_system__utils__linux.cpp) = ed9936b0fa5807cdc8df871183589130784b6bc1
 SHA1 (patch-third__party_js_cfworker_build.sh) = 46cdf97b99cf01080f290ae8d9a33b5f869fc3e4
@@ -68,7 +68,6 @@ SHA1 (patch-third__party_sqlite3_ext_moz
 SHA1 (patch-third__party_sqlite3_src_moz.build) = b26856a4b87aa12211575d9982f62dc899474b52
 SHA1 (patch-third__party_wasm2c_src_c-writer.cc) = 38eb2ee0e00722aa1380540b83648b43723719aa
 SHA1 (patch-third__party_wasm2c_src_prebuilt_wasm2c__source__includes.cc) = 99d0db944f0c2d0c623460991efd423d9127c988
-SHA1 (patch-toolkit_components_remote_nsXRemoteServer.cpp) = abb0e5c49c1aa21907e7a1358114fa60b377fdb8
 SHA1 (patch-toolkit_components_terminator_nsTerminator.cpp) = e905e38ef1b88d764c695c019f15609350c1c43b
 SHA1 (patch-toolkit_moz.configure) = 1306e7ac3c3939886aff38a58dd3162e6517409b
 SHA1 (patch-toolkit_mozapps_installer_packager.mk) = c77481a1f8fe1e237b7fe87e3e586ca886ac1d3d

Index: pkgsrc/www/firefox/mozilla-common.mk
diff -u pkgsrc/www/firefox/mozilla-common.mk:1.325 pkgsrc/www/firefox/mozilla-common.mk:1.326
--- pkgsrc/www/firefox/mozilla-common.mk:1.325  Thu Sep 10 21:05:45 2026
+++ pkgsrc/www/firefox/mozilla-common.mk        Wed Sep 23 08:39:50 2026
@@ -1,4 +1,4 @@
-# $NetBSD: mozilla-common.mk,v 1.325 2026/09/10 21:05:45 tnn Exp $
+# $NetBSD: mozilla-common.mk,v 1.326 2026/09/23 08:39:50 ryoon Exp $
 #
 # common Makefile fragment for mozilla packages based on gecko 2.0.
 #
@@ -150,7 +150,7 @@ CONFIGURE_ARGS+=    --without-wasm-sandboxe
 SUBST_CLASSES+=                                fix-libpci-soname
 SUBST_STAGE.fix-libpci-soname=         pre-configure
 SUBST_MESSAGE.fix-libpci-soname=       Fixing libpci soname
-SUBST_FILES.fix-libpci-soname+=                ${MOZILLA_DIR}toolkit/xre/glxtest/glxtest.cpp
+SUBST_FILES.fix-libpci-soname+=                ${MOZILLA_DIR}toolkit/xre/gfxtest/glxtest.cpp
 SUBST_SED.fix-libpci-soname+=          -e 's,"libpci.so, "lib${PCIUTILS_LIBNAME}.so,'
 
 .if ${MACHINE_PLATFORM:MNetBSD-*-i386}

Index: pkgsrc/www/firefox/files/node-wrapper.sh
diff -u pkgsrc/www/firefox/files/node-wrapper.sh:1.41 pkgsrc/www/firefox/files/node-wrapper.sh:1.42
--- pkgsrc/www/firefox/files/node-wrapper.sh:1.41       Mon Aug 24 12:51:47 2026
+++ pkgsrc/www/firefox/files/node-wrapper.sh    Wed Sep 23 08:39:50 2026
@@ -1,6 +1,6 @@
 #! /bin/sh
 
-VERS=v26.7.0
+VERS=v26.8.2
 
 if [ "$1" = "-v" ] || [ "$1" = "--version" ]; then
        printf "${VERS}\n"

Index: pkgsrc/www/firefox/patches/patch-build_gn__processor.py
diff -u pkgsrc/www/firefox/patches/patch-build_gn__processor.py:1.1 pkgsrc/www/firefox/patches/patch-build_gn__processor.py:1.2
--- pkgsrc/www/firefox/patches/patch-build_gn__processor.py:1.1 Mon Oct 27 14:24:33 2025
+++ pkgsrc/www/firefox/patches/patch-build_gn__processor.py     Wed Sep 23 08:39:50 2026
@@ -1,9 +1,9 @@
-$NetBSD: patch-build_gn__processor.py,v 1.1 2025/10/27 14:24:33 ryoon Exp $
+$NetBSD: patch-build_gn__processor.py,v 1.2 2026/09/23 08:39:50 ryoon Exp $
 
---- build/gn_processor.py.orig 2025-10-03 13:17:56.000000000 +0000
+--- build/gn_processor.py.orig 2026-09-09 20:41:32.000000000 +0000
 +++ build/gn_processor.py
-@@ -190,6 +190,8 @@ def filter_gn_config(path, gn_result, sa
-         "mac": "Darwin",
+@@ -220,6 +220,8 @@ def filter_gn_config(path, gn_result, sandbox_vars, in
+         "ios": "Darwin",
          "openbsd": "OpenBSD",
          "win": "WINNT",
 +        "freebsd": "FreeBSD",
@@ -11,15 +11,15 @@ $NetBSD: patch-build_gn__processor.py,v 
      }
  
      mozbuild_args = {
-@@ -810,17 +812,17 @@ def main():
+@@ -1063,17 +1065,17 @@ def generate_gn_configs(topsrcdir, config):
  
      vars_set = []
      for is_debug in (True, False):
--        for target_os in ("android", "linux", "mac", "openbsd", "win"):
-+        for target_os in ("android", "linux", "mac", "openbsd", "win", "freebsd", "netbsd"):
+-        for target_os in ("android", "ios", "linux", "mac", "openbsd", "win"):
++        for target_os in ("android", "ios", "linux", "mac", "openbsd", "win", "freebsd", "netbsd"):
              target_cpus = ["x64"]
--            if target_os in ("android", "linux", "mac", "win", "openbsd"):
-+            if target_os in ("android", "linux", "mac", "win", "openbsd", "freebsd", "netbsd"):
+-            if target_os in ("android", "ios", "linux", "mac", "win", "openbsd"):
++            if target_os in ("android", "ios", "linux", "mac", "win", "openbsd", "freebsd", "netbsd"):
                  target_cpus.append("arm64")
 -            if target_os in ("android", "linux"):
 +            if target_os in ("android", "linux", "freebsd", "netbsd"):
@@ -35,7 +35,7 @@ $NetBSD: patch-build_gn__processor.py,v 
                  target_cpus.extend(["loong64", "ppc64", "mipsel", "mips64el"])
              for target_cpu in target_cpus:
                  vars = {
-@@ -834,7 +836,7 @@ def main():
+@@ -1092,7 +1094,7 @@ def generate_gn_configs(topsrcdir, config):
                          vars["ozone_platform_x11"] = enable_x11
                          vars_set.append(vars.copy())
                  else:
Index: pkgsrc/www/firefox/patches/patch-third__party_angle_angle__common__gn_moz.build
diff -u pkgsrc/www/firefox/patches/patch-third__party_angle_angle__common__gn_moz.build:1.1 pkgsrc/www/firefox/patches/patch-third__party_angle_angle__common__gn_moz.build:1.2
--- pkgsrc/www/firefox/patches/patch-third__party_angle_angle__common__gn_moz.build:1.1 Mon Aug 24 12:51:47 2026
+++ pkgsrc/www/firefox/patches/patch-third__party_angle_angle__common__gn_moz.build     Wed Sep 23 08:39:50 2026
@@ -1,17 +1,17 @@
-$NetBSD: patch-third__party_angle_angle__common__gn_moz.build,v 1.1 2026/08/24 12:51:47 ryoon Exp $
+$NetBSD: patch-third__party_angle_angle__common__gn_moz.build,v 1.2 2026/09/23 08:39:50 ryoon Exp $
 
---- third_party/angle/angle_common_gn/moz.build.orig   2026-08-12 13:09:20.000000000 +0000
+--- third_party/angle/angle_common_gn/moz.build.orig   2026-09-09 20:41:52.000000000 +0000
 +++ third_party/angle/angle_common_gn/moz.build
-@@ -134,7 +134,7 @@ if CONFIG["OS_TARGET"] == "Linux":
+@@ -136,7 +136,7 @@ if CONFIG["OS_TARGET"] == "Linux":
          "/third_party/angle/src/common/system_utils_posix.cpp"
      ]
  
 -if CONFIG["OS_TARGET"] == "OpenBSD":
 +if CONFIG["OS_TARGET"] == "OpenBSD" or CONFIG["OS_TARGET"] == "FreeBSD" or CONFIG["OS_TARGET"] == "NetBSD":
  
+     DEFINES["EGL_NO_X11"] = True
      DEFINES["USE_GLIB"] = "1"
-     DEFINES["USE_OZONE"] = "1"
-@@ -144,6 +144,17 @@ if CONFIG["OS_TARGET"] == "OpenBSD":
+@@ -147,6 +147,17 @@ if CONFIG["OS_TARGET"] == "OpenBSD":
      DEFINES["__STDC_CONSTANT_MACROS"] = True
      DEFINES["__STDC_FORMAT_MACROS"] = True
  
@@ -29,7 +29,7 @@ $NetBSD: patch-third__party_angle_angle_
  if CONFIG["OS_TARGET"] == "WINNT":
  
      DEFINES["ANGLE_IS_WIN"] = True
-@@ -208,7 +219,7 @@ if CONFIG["MOZ_DEBUG"] == "1" and CONFIG["OS_TARGET"] 
+@@ -212,7 +223,7 @@ if CONFIG["MOZ_DEBUG"] == "1" and CONFIG["OS_TARGET"] 
  
      DEFINES["_DEBUG"] = True
  
Index: pkgsrc/www/firefox/patches/patch-third__party_angle_angle__program__version__id__gn_ANGLEShaderProgramVersion.h-22c710649c380411.rsp.in
diff -u pkgsrc/www/firefox/patches/patch-third__party_angle_angle__program__version__id__gn_ANGLEShaderProgramVersion.h-22c710649c380411.rsp.in:1.1 
pkgsrc/www/firefox/patches/patch-third__party_angle_angle__program__version__id__gn_ANGLEShaderProgramVersion.h-22c710649c380411.rsp.in:1.2
--- pkgsrc/www/firefox/patches/patch-third__party_angle_angle__program__version__id__gn_ANGLEShaderProgramVersion.h-22c710649c380411.rsp.in:1.1 Mon Aug 24 12:51:47 2026
+++ pkgsrc/www/firefox/patches/patch-third__party_angle_angle__program__version__id__gn_ANGLEShaderProgramVersion.h-22c710649c380411.rsp.in     Wed Sep 23 08:39:50 2026
@@ -1,10 +1,8 @@
-$NetBSD: patch-third__party_angle_angle__program__version__id__gn_ANGLEShaderProgramVersion.h-22c710649c380411.rsp.in,v 1.1 2026/08/24 12:51:47 ryoon Exp $
+$NetBSD: patch-third__party_angle_angle__program__version__id__gn_ANGLEShaderProgramVersion.h-22c710649c380411.rsp.in,v 1.2 2026/09/23 08:39:50 ryoon Exp $
 
-For FreeBSD and NetBSD.
-
---- third_party/angle/angle_program_version_id_gn/ANGLEShaderProgramVersion.h-22c710649c380411.rsp.in.orig     2026-08-14 14:16:40.408891583 +0000
+--- third_party/angle/angle_program_version_id_gn/ANGLEShaderProgramVersion.h-22c710649c380411.rsp.in.orig     2026-09-11 15:06:30.611350505 +0000
 +++ third_party/angle/angle_program_version_id_gn/ANGLEShaderProgramVersion.h-22c710649c380411.rsp.in
-@@ -0,0 +1,866 @@
+@@ -0,0 +1,855 @@
 +/third_party/angle/src/common/BinaryStream.h
 +/third_party/angle/src/common/CircularBuffer.h
 +/third_party/angle/src/common/Color.h
@@ -135,10 +133,6 @@ For FreeBSD and NetBSD.
 +/third_party/angle/src/libANGLE/MemoryProgramCache.h
 +/third_party/angle/src/libANGLE/MemoryShaderCache.h
 +/third_party/angle/src/libANGLE/Observer.h
-+/third_party/angle/src/libANGLE/Overlay.h
-+/third_party/angle/src/libANGLE/OverlayWidgets.h
-+/third_party/angle/src/libANGLE/Overlay_autogen.h
-+/third_party/angle/src/libANGLE/Overlay_font_autogen.h
 +/third_party/angle/src/libANGLE/PixelLocalStorage.h
 +/third_party/angle/src/libANGLE/Program.h
 +/third_party/angle/src/libANGLE/ProgramExecutable.h
@@ -198,7 +192,6 @@ For FreeBSD and NetBSD.
 +/third_party/angle/src/libANGLE/renderer/gl/functionsgl_enums.h
 +/third_party/angle/src/libANGLE/renderer/ImageImpl.h
 +/third_party/angle/src/libANGLE/renderer/MemoryObjectImpl.h
-+/third_party/angle/src/libANGLE/renderer/OverlayImpl.h
 +/third_party/angle/src/libANGLE/renderer/ProgramImpl.h
 +/third_party/angle/src/libANGLE/renderer/ProgramExecutableImpl.h
 +/third_party/angle/src/libANGLE/renderer/ProgramPipelineImpl.h
@@ -278,10 +271,6 @@ For FreeBSD and NetBSD.
 +/third_party/angle/src/libANGLE/MemoryProgramCache.cpp
 +/third_party/angle/src/libANGLE/MemoryShaderCache.cpp
 +/third_party/angle/src/libANGLE/Observer.cpp
-+/third_party/angle/src/libANGLE/Overlay.cpp
-+/third_party/angle/src/libANGLE/OverlayWidgets.cpp
-+/third_party/angle/src/libANGLE/Overlay_autogen.cpp
-+/third_party/angle/src/libANGLE/Overlay_font_autogen.cpp
 +/third_party/angle/src/libANGLE/PixelLocalStorage.cpp
 +/third_party/angle/src/libANGLE/Platform.cpp
 +/third_party/angle/src/libANGLE/Program.cpp
@@ -572,9 +561,10 @@ For FreeBSD and NetBSD.
 +/third_party/angle/src/compiler/translator/tree_ops/SimplifyLoopConditions.h
 +/third_party/angle/src/compiler/translator/tree_ops/SplitSequenceOperator.cpp
 +/third_party/angle/src/compiler/translator/tree_ops/SplitSequenceOperator.h
-+/third_party/angle/src/compiler/translator/tree_ops/glsl/RegenerateStructNames.h
++/third_party/angle/src/compiler/translator/tree_ops/glsl/ExpandFragmentOutputsToVec4.h
 +/third_party/angle/src/compiler/translator/tree_ops/glsl/RewriteRepeatedAssignToSwizzled.h
 +/third_party/angle/src/compiler/translator/tree_ops/glsl/UseInterfaceBlockFields.h
++/third_party/angle/src/compiler/translator/tree_ops/glsl/WrapStructConstructors.h
 +/third_party/angle/src/compiler/translator/tree_ops/glsl/apple/AddAndTrueToLoopCondition.h
 +/third_party/angle/src/compiler/translator/tree_ops/glsl/apple/RewriteRowMajorMatrices.h
 +/third_party/angle/src/compiler/translator/tree_ops/glsl/apple/UnfoldShortCircuitAST.h
@@ -612,8 +602,6 @@ For FreeBSD and NetBSD.
 +/third_party/angle/src/compiler/translator/tree_util/RunAtTheBeginningOfShader.h
 +/third_party/angle/src/compiler/translator/tree_util/RunAtTheEndOfShader.cpp
 +/third_party/angle/src/compiler/translator/tree_util/RunAtTheEndOfShader.h
-+/third_party/angle/src/compiler/translator/tree_util/SpecializationConstant.cpp
-+/third_party/angle/src/compiler/translator/tree_util/SpecializationConstant.h
 +/third_party/angle/src/compiler/translator/tree_util/Visit.h
 +/third_party/angle/src/compiler/translator/util.cpp
 +/third_party/angle/src/compiler/translator/util.h
@@ -631,9 +619,10 @@ For FreeBSD and NetBSD.
 +/third_party/angle/src/compiler/translator/glsl/ExtensionGLSL.h
 +/third_party/angle/src/compiler/translator/glsl/TranslatorGLSL.cpp
 +/third_party/angle/src/compiler/translator/glsl/VersionGLSL.cpp
-+/third_party/angle/src/compiler/translator/tree_ops/glsl/RegenerateStructNames.cpp
++/third_party/angle/src/compiler/translator/tree_ops/glsl/ExpandFragmentOutputsToVec4.cpp
 +/third_party/angle/src/compiler/translator/tree_ops/glsl/RewriteRepeatedAssignToSwizzled.cpp
 +/third_party/angle/src/compiler/translator/tree_ops/glsl/UseInterfaceBlockFields.cpp
++/third_party/angle/src/compiler/translator/tree_ops/glsl/WrapStructConstructors.cpp
 +/third_party/angle/src/compiler/translator/tree_ops/glsl/apple/AddAndTrueToLoopCondition.cpp
 +/third_party/angle/src/compiler/translator/tree_ops/glsl/apple/RewriteRowMajorMatrices.cpp
 +/third_party/angle/src/compiler/translator/tree_ops/glsl/apple/UnfoldShortCircuitAST.cpp
@@ -691,8 +680,6 @@ For FreeBSD and NetBSD.
 +/third_party/angle/src/compiler/translator/tree_ops/spirv/ClampGLLayer.h
 +/third_party/angle/src/compiler/translator/tree_ops/spirv/EmulateAdvancedBlendEquations.cpp
 +/third_party/angle/src/compiler/translator/tree_ops/spirv/EmulateAdvancedBlendEquations.h
-+/third_party/angle/src/compiler/translator/tree_ops/spirv/EmulateDithering.cpp
-+/third_party/angle/src/compiler/translator/tree_ops/spirv/EmulateDithering.h
 +/third_party/angle/src/compiler/translator/tree_ops/spirv/EmulateFragColorData.cpp
 +/third_party/angle/src/compiler/translator/tree_ops/spirv/EmulateFragColorData.h
 +/third_party/angle/src/compiler/translator/tree_ops/spirv/EmulateFramebufferFetch.cpp

Index: pkgsrc/www/firefox/patches/patch-config_makefiles_rust.mk
diff -u pkgsrc/www/firefox/patches/patch-config_makefiles_rust.mk:1.15 pkgsrc/www/firefox/patches/patch-config_makefiles_rust.mk:1.16
--- pkgsrc/www/firefox/patches/patch-config_makefiles_rust.mk:1.15      Mon Oct 27 14:24:33 2025
+++ pkgsrc/www/firefox/patches/patch-config_makefiles_rust.mk   Wed Sep 23 08:39:50 2026
@@ -1,4 +1,4 @@
-$NetBSD: patch-config_makefiles_rust.mk,v 1.15 2025/10/27 14:24:33 ryoon Exp $
+$NetBSD: patch-config_makefiles_rust.mk,v 1.16 2026/09/23 08:39:50 ryoon Exp $
 
 NetBSD doesn't get along with parallel rust builds (it causes issues
 with ld.so) which are the default. Force -j1.
@@ -6,19 +6,19 @@ with ld.so) which are the default. Force
 Use less memory to fix build under NetBSD/i386.
 From: https://bugzilla.mozilla.org/show_bug.cgi?id=1644409
 
---- config/makefiles/rust.mk.orig      2025-10-03 13:17:55.000000000 +0000
+--- config/makefiles/rust.mk.orig      2026-08-26 21:11:39.000000000 +0000
 +++ config/makefiles/rust.mk
-@@ -60,6 +60,9 @@ ifdef MOZ_TSAN
- cargo_build_flags += -Zbuild-std=std,panic_abort
- RUSTFLAGS += -Zsanitizer=thread
+@@ -65,6 +65,9 @@ endif
+ endif
+ endif
  endif
 +ifeq ($(OS_ARCH),NetBSD)
 +cargo_build_flags += @RUST_MAKE_JOBS@
 +endif
  
- rustflags_sancov =
- ifndef MOZ_TSAN
-@@ -101,7 +104,8 @@ ifndef rustflags_sancov
+ # Without -j > 1, make will not pass jobserver info down to cargo. Force
+ # one job when requested as a special case.
+@@ -91,7 +94,8 @@ ifeq (,$(findstring gkrust_gtest,$(RUST_LIBRARY_FILE))
  # Never enable when coverage is enabled to work around https://github.com/rust-lang/rust/issues/90045.
  ifndef MOZ_CODE_COVERAGE
  ifeq (,$(findstring gkrust_gtest,$(RUST_LIBRARY_FILE)))

Index: pkgsrc/www/firefox/patches/patch-nsprpub_pr_src_pthreads_ptsynch.c
diff -u pkgsrc/www/firefox/patches/patch-nsprpub_pr_src_pthreads_ptsynch.c:1.3 pkgsrc/www/firefox/patches/patch-nsprpub_pr_src_pthreads_ptsynch.c:1.4
--- pkgsrc/www/firefox/patches/patch-nsprpub_pr_src_pthreads_ptsynch.c:1.3      Wed Dec 25 13:30:11 2024
+++ pkgsrc/www/firefox/patches/patch-nsprpub_pr_src_pthreads_ptsynch.c  Wed Sep 23 08:39:50 2026
@@ -1,4 +1,4 @@
-$NetBSD: patch-nsprpub_pr_src_pthreads_ptsynch.c,v 1.3 2024/12/25 13:30:11 ryoon Exp $
+$NetBSD: patch-nsprpub_pr_src_pthreads_ptsynch.c,v 1.4 2026/09/23 08:39:50 ryoon Exp $
 
 firefox: Workaround broken pthread_equal() usage
 
@@ -8,105 +8,105 @@ Problems detected on NetBSD 9.99.46.
 
 https://bugzilla.mozilla.org/show_bug.cgi?id=1718838
 
---- nsprpub/pr/src/pthreads/ptsynch.c.orig     2024-11-25 14:49:12.865195781 +0000
+--- nsprpub/pr/src/pthreads/ptsynch.c.orig     2026-08-26 21:11:48.000000000 +0000
 +++ nsprpub/pr/src/pthreads/ptsynch.c
-@@ -25,6 +25,13 @@ static pthread_condattr_t _pt_cvar_attr;
+@@ -24,6 +24,13 @@ extern PTDebug pt_debug; /* this is shared between sev
  extern PTDebug pt_debug; /* this is shared between several modules */
- #  endif                 /* defined(DEBUG) */
+ #endif                   /* defined(DEBUG) */
  
-+/* XXX, pthread_equal() is misused to compare non-valid thread pointers */
++/* XXX, pt_pthread_equal() is misused to compare non-valid thread pointers */
 +static int
-+pt_pthread_equal(pthread_t t1, pthread_t t2)
++pt_pt_pthread_equal(pthread_t t1, pthread_t t2)
 +{
 +      return t1 == t2;
 +}
 +
- #  if defined(FREEBSD)
+ #if defined(FREEBSD)
  /*
   * On older versions of FreeBSD, pthread_mutex_trylock returns EDEADLK.
-@@ -181,9 +188,9 @@ PR_IMPLEMENT(PRStatus) PR_Unlock(PRLock*
-   PR_ASSERT(lock != NULL);
-   PR_ASSERT(_PT_PTHREAD_MUTEX_IS_LOCKED(lock->mutex));
-   PR_ASSERT(PR_TRUE == lock->locked);
--  PR_ASSERT(pthread_equal(lock->owner, self));
-+  PR_ASSERT(pt_pthread_equal(lock->owner, self));
- 
--  if (!lock->locked || !pthread_equal(lock->owner, self)) {
-+  if (!lock->locked || !pt_pthread_equal(lock->owner, self)) {
-     return PR_FAILURE;
-   }
- 
-@@ -207,7 +214,7 @@ PR_IMPLEMENT(void) PR_AssertCurrentThrea
-    * to the correctness of PR_AssertCurrentThreadOwnsLock(), but
-    * this particular order makes the assertion more likely to
-    * catch errors. */
--  PR_ASSERT(lock->locked && pthread_equal(lock->owner, pthread_self()));
-+  PR_ASSERT(lock->locked && pt_pthread_equal(lock->owner, pthread_self()));
+@@ -194,9 +201,9 @@ PR_Unlock(PRLock* lock)
+     PR_ASSERT(lock != NULL);
+     PR_ASSERT(_PT_PTHREAD_MUTEX_IS_LOCKED(lock->mutex));
+     PR_ASSERT(PR_TRUE == lock->locked);
+-    PR_ASSERT(pthread_equal(lock->owner, self));
++    PR_ASSERT(pt_pthread_equal(lock->owner, self));
+ 
+-    if (!lock->locked || !pthread_equal(lock->owner, self)) {
++    if (!lock->locked || !pt_pthread_equal(lock->owner, self)) {
+         return PR_FAILURE;
+     }
+ 
+@@ -222,7 +229,7 @@ PR_AssertCurrentThreadOwnsLock(PRLock* lock)
+      * to the correctness of PR_AssertCurrentThreadOwnsLock(), but
+      * this particular order makes the assertion more likely to
+      * catch errors. */
+-    PR_ASSERT(lock->locked && pthread_equal(lock->owner, pthread_self()));
++    PR_ASSERT(lock->locked && pt_pthread_equal(lock->owner, pthread_self()));
  }
  
  /**************************************************************/
-@@ -260,7 +267,7 @@ static void pt_PostNotifyToCvar(PRCondVa
-   _PT_Notified* notified = &cvar->lock->notified;
+@@ -279,7 +286,7 @@ pt_PostNotifyToCvar(PRCondVar* cvar, PRBool broadcast)
+     _PT_Notified* notified = &cvar->lock->notified;
+ 
+     PR_ASSERT(PR_TRUE == cvar->lock->locked);
+-    PR_ASSERT(pthread_equal(cvar->lock->owner, pthread_self()));
++    PR_ASSERT(pt_pthread_equal(cvar->lock->owner, pthread_self()));
+     PR_ASSERT(_PT_PTHREAD_MUTEX_IS_LOCKED(cvar->lock->mutex));
+ 
+     while (1) {
+@@ -361,7 +368,7 @@ PR_WaitCondVar(PRCondVar* cvar, PRIntervalTime timeout
+     PR_ASSERT(_PT_PTHREAD_MUTEX_IS_LOCKED(cvar->lock->mutex));
+     PR_ASSERT(PR_TRUE == cvar->lock->locked);
+     /* and it better be by us */
+-    PR_ASSERT(pthread_equal(cvar->lock->owner, pthread_self()));
++    PR_ASSERT(pt_pthread_equal(cvar->lock->owner, pthread_self()));
+ 
+     if (_PT_THREAD_INTERRUPTED(thred)) {
+         goto aborted;
+@@ -576,7 +583,7 @@ PR_GetMonitorEntryCount(PRMonitor* mon)
  
-   PR_ASSERT(PR_TRUE == cvar->lock->locked);
--  PR_ASSERT(pthread_equal(cvar->lock->owner, pthread_self()));
-+  PR_ASSERT(pt_pthread_equal(cvar->lock->owner, pthread_self()));
-   PR_ASSERT(_PT_PTHREAD_MUTEX_IS_LOCKED(cvar->lock->mutex));
- 
-   while (1) {
-@@ -336,7 +343,7 @@ PR_IMPLEMENT(PRStatus) PR_WaitCondVar(PR
-   PR_ASSERT(_PT_PTHREAD_MUTEX_IS_LOCKED(cvar->lock->mutex));
-   PR_ASSERT(PR_TRUE == cvar->lock->locked);
-   /* and it better be by us */
--  PR_ASSERT(pthread_equal(cvar->lock->owner, pthread_self()));
-+  PR_ASSERT(pt_pthread_equal(cvar->lock->owner, pthread_self()));
- 
-   if (_PT_THREAD_INTERRUPTED(thred)) {
-     goto aborted;
-@@ -535,7 +542,7 @@ PR_IMPLEMENT(PRIntn) PR_GetMonitorEntryC
- 
-   rv = pthread_mutex_lock(&mon->lock);
-   PR_ASSERT(0 == rv);
--  if (pthread_equal(mon->owner, self)) {
-+  if (pt_pthread_equal(mon->owner, self)) {
-     count = mon->entryCount;
-   }
-   rv = pthread_mutex_unlock(&mon->lock);
-@@ -549,7 +556,7 @@ PR_IMPLEMENT(void) PR_AssertCurrentThrea
- 
-   rv = pthread_mutex_lock(&mon->lock);
-   PR_ASSERT(0 == rv);
--  PR_ASSERT(mon->entryCount != 0 && pthread_equal(mon->owner, pthread_self()));
-+  PR_ASSERT(mon->entryCount != 0 && pt_pthread_equal(mon->owner, pthread_self()));
-   rv = pthread_mutex_unlock(&mon->lock);
-   PR_ASSERT(0 == rv);
- #  endif
-@@ -563,7 +570,7 @@ PR_IMPLEMENT(void) PR_EnterMonitor(PRMon
-   rv = pthread_mutex_lock(&mon->lock);
-   PR_ASSERT(0 == rv);
-   if (mon->entryCount != 0) {
+     rv = pthread_mutex_lock(&mon->lock);
+     PR_ASSERT(0 == rv);
 -    if (pthread_equal(mon->owner, self)) {
 +    if (pt_pthread_equal(mon->owner, self)) {
-       goto done;
+         count = mon->entryCount;
      }
-     while (mon->entryCount != 0) {
-@@ -593,8 +600,8 @@ PR_IMPLEMENT(PRStatus) PR_ExitMonitor(PR
-   PR_ASSERT(0 == rv);
-   /* the entries should be > 0 and we'd better be the owner */
-   PR_ASSERT(mon->entryCount > 0);
--  PR_ASSERT(pthread_equal(mon->owner, self));
--  if (mon->entryCount == 0 || !pthread_equal(mon->owner, self)) {
-+  PR_ASSERT(pt_pthread_equal(mon->owner, self));
-+  if (mon->entryCount == 0 || !pt_pthread_equal(mon->owner, self)) {
      rv = pthread_mutex_unlock(&mon->lock);
+@@ -592,7 +599,7 @@ PR_AssertCurrentThreadInMonitor(PRMonitor* mon)
+ 
+     rv = pthread_mutex_lock(&mon->lock);
+     PR_ASSERT(0 == rv);
+-    PR_ASSERT(mon->entryCount != 0 && pthread_equal(mon->owner, pthread_self()));
++    PR_ASSERT(mon->entryCount != 0 && pt_pthread_equal(mon->owner, pthread_self()));
+     rv = pthread_mutex_unlock(&mon->lock);
+     PR_ASSERT(0 == rv);
+ #endif
+@@ -608,7 +615,7 @@ PR_EnterMonitor(PRMonitor* mon)
+     rv = pthread_mutex_lock(&mon->lock);
+     PR_ASSERT(0 == rv);
+     if (mon->entryCount != 0) {
+-        if (pthread_equal(mon->owner, self)) {
++        if (pt_pthread_equal(mon->owner, self)) {
+             goto done;
+         }
+         while (mon->entryCount != 0) {
+@@ -640,8 +647,8 @@ PR_ExitMonitor(PRMonitor* mon)
      PR_ASSERT(0 == rv);
-     return PR_FAILURE;
-@@ -638,7 +645,7 @@ PR_IMPLEMENT(PRStatus) PR_Wait(PRMonitor
-   /* the entries better be positive */
-   PR_ASSERT(mon->entryCount > 0);
-   /* and it better be owned by us */
--  PR_ASSERT(pthread_equal(mon->owner, pthread_self()));
-+  PR_ASSERT(pt_pthread_equal(mon->owner, pthread_self()));
+     /* the entries should be > 0 and we'd better be the owner */
+     PR_ASSERT(mon->entryCount > 0);
+-    PR_ASSERT(pthread_equal(mon->owner, self));
+-    if (mon->entryCount == 0 || !pthread_equal(mon->owner, self)) {
++    PR_ASSERT(pt_pthread_equal(mon->owner, self));
++    if (mon->entryCount == 0 || !pt_pthread_equal(mon->owner, self)) {
+         rv = pthread_mutex_unlock(&mon->lock);
+         PR_ASSERT(0 == rv);
+         return PR_FAILURE;
+@@ -687,7 +694,7 @@ PR_Wait(PRMonitor* mon, PRIntervalTime timeout)
+     /* the entries better be positive */
+     PR_ASSERT(mon->entryCount > 0);
+     /* and it better be owned by us */
+-    PR_ASSERT(pthread_equal(mon->owner, pthread_self()));
++    PR_ASSERT(pt_pthread_equal(mon->owner, pthread_self()));
  
-   /* tuck these away 'till later */
-   saved_entries = mon->entryCount;
+     /* tuck these away 'till later */
+     saved_entries = mon->entryCount;



Home | Main Index | Thread Index | Old Index