pkgsrc-WIP-changes archive

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

webkit-gtk-2.46: fix build with enable libpas on NetBSD



Module Name:	pkgsrc-wip
Committed By:	kikadf <kikadf.01%gmail.com@localhost>
Pushed By:	kikadf
Date:		Wed Oct 29 13:50:04 2025 +0100
Changeset:	8532986456dc197452e1e0bbf9a39c86432e60d8

Modified Files:
	webkit-gtk-2.46/Makefile
	webkit-gtk-2.46/PLIST
	webkit-gtk-2.46/TODO
	webkit-gtk-2.46/distinfo
	webkit-gtk-2.46/patches/patch-Source_bmalloc_bmalloc_BPlatform.h
Added Files:
	webkit-gtk-2.46/patches/patch-Source_WebCore_platform_graphics_gbm_MemoryMappedGPUBuffer.cpp
	webkit-gtk-2.46/patches/patch-Source_bmalloc_bmalloc_bmalloc.h
	webkit-gtk-2.46/patches/patch-Source_bmalloc_libpas_src_libpas_pas__committed__pages__vector.h
	webkit-gtk-2.46/patches/patch-Source_bmalloc_libpas_src_libpas_pas__monotonic__time.c
	webkit-gtk-2.46/patches/patch-Source_bmalloc_libpas_src_libpas_pas__page__malloc.c
	webkit-gtk-2.46/patches/patch-Source_bmalloc_libpas_src_libpas_pas__platform.h
	webkit-gtk-2.46/patches/patch-Source_bmalloc_libpas_src_libpas_pas__random.h

Log Message:
webkit-gtk-2.46: fix build with enable libpas on NetBSD

still has webprocess crahses

To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=8532986456dc197452e1e0bbf9a39c86432e60d8

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

diffstat:
 webkit-gtk-2.46/Makefile                           |  7 ++++-
 webkit-gtk-2.46/PLIST                              |  7 +++--
 webkit-gtk-2.46/TODO                               | 22 ---------------
 webkit-gtk-2.46/distinfo                           |  9 +++++-
 ...platform_graphics_gbm_MemoryMappedGPUBuffer.cpp | 32 ++++++++++++++++++++++
 .../patch-Source_bmalloc_bmalloc_BPlatform.h       | 13 +++++++--
 .../patches/patch-Source_bmalloc_bmalloc_bmalloc.h | 13 +++++++++
 ...bpas_src_libpas_pas__committed__pages__vector.h | 13 +++++++++
 ...malloc_libpas_src_libpas_pas__monotonic__time.c | 29 ++++++++++++++++++++
 ...e_bmalloc_libpas_src_libpas_pas__page__malloc.c | 22 +++++++++++++++
 ...ource_bmalloc_libpas_src_libpas_pas__platform.h | 19 +++++++++++++
 ...-Source_bmalloc_libpas_src_libpas_pas__random.h | 13 +++++++++
 12 files changed, 171 insertions(+), 28 deletions(-)

diffs:
diff --git a/webkit-gtk-2.46/Makefile b/webkit-gtk-2.46/Makefile
index 6e338dfd4e..643021f0f0 100644
--- a/webkit-gtk-2.46/Makefile
+++ b/webkit-gtk-2.46/Makefile
@@ -68,11 +68,16 @@ CMAKE_CONFIGURE_ARGS+=		-DUSER_AGENT_BRANDING="Linux ${MACHINE_ARCH}"
 
 # From OpenBSD ports:
 # we don't want an allocation of 1GB, it's above the "default" class ulimit
+# see Source/JavaScriptCore/jit/ExecutableAllocator.cpp for default values
 .if ${MACHINE_ARCH} == "x86_64"
-CXXFLAGS+=		-DFIXED_EXECUTABLE_MEMORY_POOL_SIZE_IN_MB=384
+CXXFLAGS+=		-DFIXED_EXECUTABLE_MEMORY_POOL_SIZE_IN_MB=512
 .endif
+# see Source/JavaScriptCore/runtime/StructureID.h for default values
 CXXFLAGS+=		-DSTRUCTURE_HEAP_ADDRESS_SIZE_IN_MB=256
 
+# For backtrace
+LDFLAGS.NetBSD+=	-lexecinfo
+
 PKGCONFIG_OVERRIDE+=	Source/JavaScriptCore/javascriptcoregtk.pc.in
 
 REPLACE_PERL+=		Source/JavaScriptCore/Scripts/*.pl
diff --git a/webkit-gtk-2.46/PLIST b/webkit-gtk-2.46/PLIST
index f5815647bc..b9b5535d0a 100644
--- a/webkit-gtk-2.46/PLIST
+++ b/webkit-gtk-2.46/PLIST
@@ -224,10 +224,10 @@ lib/girepository-1.0/WebKit2-4.1.typelib
 lib/girepository-1.0/WebKit2WebExtension-4.1.typelib
 lib/libjavascriptcoregtk-4.1.${RUBY_DLEXT}
 lib/libjavascriptcoregtk-4.1.so.0
-lib/libjavascriptcoregtk-4.1.so.0.8.8
+lib/libjavascriptcoregtk-4.1.so.0.9.6
 lib/libwebkit2gtk-4.1.${RUBY_DLEXT}
 lib/libwebkit2gtk-4.1.so.0
-lib/libwebkit2gtk-4.1.so.0.17.10
+lib/libwebkit2gtk-4.1.so.0.19.4
 lib/pkgconfig/javascriptcoregtk-4.1.pc
 lib/pkgconfig/webkit2gtk-4.1.pc
 lib/pkgconfig/webkit2gtk-web-extension-4.1.pc
@@ -539,6 +539,7 @@ share/doc/webkit2gtk-4.1/const.EDITING_COMMAND_UNDO.html
 share/doc/webkit2gtk-4.1/const.MAJOR_VERSION.html
 share/doc/webkit2gtk-4.1/const.MICRO_VERSION.html
 share/doc/webkit2gtk-4.1/const.MINOR_VERSION.html
+share/doc/webkit2gtk-4.1/contributing.html
 share/doc/webkit2gtk-4.1/ctor.ApplicationInfo.new.html
 share/doc/webkit2gtk-4.1/ctor.ContextMenu.new.html
 share/doc/webkit2gtk-4.1/ctor.ContextMenu.new_with_items.html
@@ -1255,6 +1256,7 @@ share/doc/webkit2gtk-4.1/method.WebView.get_session_state.html
 share/doc/webkit2gtk-4.1/method.WebView.get_settings.html
 share/doc/webkit2gtk-4.1/method.WebView.get_snapshot.html
 share/doc/webkit2gtk-4.1/method.WebView.get_snapshot_finish.html
+share/doc/webkit2gtk-4.1/method.WebView.get_theme_color.html
 share/doc/webkit2gtk-4.1/method.WebView.get_title.html
 share/doc/webkit2gtk-4.1/method.WebView.get_tls_info.html
 share/doc/webkit2gtk-4.1/method.WebView.get_uri.html
@@ -1503,6 +1505,7 @@ share/doc/webkit2gtk-4.1/property.WebView.microphone-capture-state.html
 share/doc/webkit2gtk-4.1/property.WebView.page-id.html
 share/doc/webkit2gtk-4.1/property.WebView.related-view.html
 share/doc/webkit2gtk-4.1/property.WebView.settings.html
+share/doc/webkit2gtk-4.1/property.WebView.theme-color.html
 share/doc/webkit2gtk-4.1/property.WebView.title.html
 share/doc/webkit2gtk-4.1/property.WebView.uri.html
 share/doc/webkit2gtk-4.1/property.WebView.user-content-manager.html
diff --git a/webkit-gtk-2.46/TODO b/webkit-gtk-2.46/TODO
index 5e9ae30cf1..5fad41939f 100644
--- a/webkit-gtk-2.46/TODO
+++ b/webkit-gtk-2.46/TODO
@@ -1,25 +1,3 @@
-2.50.1: build failure:
-
-ld: Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/__/__/JavaScriptCore/DerivedSources/unified-sources/UnifiedSource-ee8a7a7a-7.cpp.o: in function `JSC::StructureAlignedMemoryAllocator::freeAlignedMemory(void*)':
-/scratch/wip/webkit-gtk-2.46/work/webkitgtk-2.50.1/cmake-pkgsrc-build/bmalloc/Headers/bmalloc/pas_thread_local_cache.h:99:(.text._ZN3JSC31StructureAlignedMemoryAllocator17freeAlignedMemoryEPv+0x32): undefined reference to `pas_thread_local_cache_pointer'
-ld: Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/__/__/JavaScriptCore/DerivedSources/unified-sources/UnifiedSource-ee8a7a7a-7.cpp.o: in function `JSC::StructureAlignedMemoryAllocator::freeAlignedMemory(void*)':
-/scratch/wip/webkit-gtk-2.46/work/webkitgtk-2.50.1/cmake-pkgsrc-build/bmalloc/Headers/bmalloc/pas_bitvector.h:78:(.text._ZN3JSC31StructureAlignedMemoryAllocator17freeAlignedMemoryEPv+0x69): undefined reference to `bmalloc_megapage_table'
-ld: Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/__/__/JavaScriptCore/DerivedSources/unified-sources/UnifiedSource-ee8a7a7a-7.cpp.o: in function `JSC::StructureAlignedMemoryAllocator::freeAlignedMemory(void*)':
-/scratch/wip/webkit-gtk-2.46/work/webkitgtk-2.50.1/cmake-pkgsrc-build/bmalloc/Headers/bmalloc/pas_deallocate.h:209:(.text._ZN3JSC31StructureAlignedMemoryAllocator17freeAlignedMemoryEPv+0xd3): undefined reference to `bmalloc_heap_config'
-ld: Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/__/__/JavaScriptCore/DerivedSources/unified-sources/UnifiedSource-ee8a7a7a-7.cpp.o: in function `pas_try_deallocate':
-/scratch/wip/webkit-gtk-2.46/work/webkitgtk-2.50.1/cmake-pkgsrc-build/bmalloc/Headers/bmalloc/pas_deallocate.h:209:(.text._ZN3JSC31StructureAlignedMemoryAllocator17freeAlignedMemoryEPv+0xec): undefined reference to `bmalloc_megapage_table'
-ld: /scratch/wip/webkit-gtk-2.46/work/webkitgtk-2.50.1/cmake-pkgsrc-build/bmalloc/Headers/bmalloc/pas_deallocate.h:209:(.text._ZN3JSC31StructureAlignedMemoryAllocator17freeAlignedMemoryEPv+0xe5): undefined reference to `pas_try_deallocate_slow_no_cache'
-ld: Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/__/__/JavaScriptCore/DerivedSources/unified-sources/UnifiedSource-ee8a7a7a-7.cpp.o: in function `JSC::StructureAlignedMemoryAllocator::freeAlignedMemory(void*)':
-/scratch/wip/webkit-gtk-2.46/work/webkitgtk-2.50.1/cmake-pkgsrc-build/bmalloc/Headers/bmalloc/pas_deallocate.h:174:(.text._ZN3JSC31StructureAlignedMemoryAllocator17freeAlignedMemoryEPv+0x153): undefined reference to `bmalloc_heap_config_specialized_try_deallocate_not_small_exclusive_segregated'
-ld: Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/__/__/JavaScriptCore/DerivedSources/unified-sources/UnifiedSource-ee8a7a7a-7.cpp.o: in function `JSC::StructureAlignedMemoryAllocator::freeAlignedMemory(void*)':
-/scratch/wip/webkit-gtk-2.46/work/webkitgtk-2.50.1/cmake-pkgsrc-build/bmalloc/Headers/bmalloc/pas_thread_local_cache.h:403:(.text._ZN3JSC31StructureAlignedMemoryAllocator17freeAlignedMemoryEPv+0x257): undefined reference to `pas_thread_local_cache_append_deallocation_slow'
-ld: Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/__/__/JavaScriptCore/DerivedSources/unified-sources/UnifiedSource-ee8a7a7a-7.cpp.o: in function `JSC::StructureMemoryManager::StructureMemoryManager()':
-/scratch/wip/webkit-gtk-2.46/work/webkitgtk-2.50.1/Source/JavaScriptCore/heap/StructureAlignedMemoryAllocator.cpp:117:(.text._ZN3JSC22StructureMemoryManagerC2Ev[_ZN3JSC22StructureMemoryManagerC5Ev]+0xef): undefined reference to `bmalloc_force_auxiliary_heap_into_reserved_memory'
-ld: Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/__/__/JavaScriptCore/DerivedSources/unified-sources/UnifiedSource-ee8a7a7a-7.cpp.o: in function `JSC::StructureMemoryManager::tryMallocStructureBlock()':
-/scratch/wip/webkit-gtk-2.46/work/webkitgtk-2.50.1/cmake-pkgsrc-build/bmalloc/Headers/bmalloc/pas_thread_local_cache.h:99:(.text._ZN3JSC22StructureMemoryManager23tryMallocStructureBlockEv[_ZN3JSC22StructureMemoryManager23tryMallocStructureBlockEv]+0x70): undefined reference to `pas_thread_local_cache_pointer'
-ld: Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/__/__/JavaScriptCore/DerivedSources/unified-sources/UnifiedSource-ee8a7a7a-7.cpp.o: in function `JSC::StructureMemoryManager::tryMallocStructureBlock()':
-/scratch/wip/webkit-gtk-2.46/work/webkitgtk-2.50.1/cmake-pkgsrc-build/bmalloc/Headers/bmalloc/bmalloc_heap_inlines.h:117:(.text._ZN3JSC22StructureMemoryManager23tryMallocStructureBlockEv[_ZN3JSC22StructureMemoryManager23tryMallocStructureBlockEv]+0x17c): undefined reference to `bmalloc_try_allocate_auxiliary_with_alignment_casual'
-
 
 pkg_add: webkit-gtk-2.48.5: missing required library: /scratch/wip/webkit-gtk-2.46/work/.buildlink/lib/libsqlite3.so
 
diff --git a/webkit-gtk-2.46/distinfo b/webkit-gtk-2.46/distinfo
index 7f7bf02243..bcd285177d 100644
--- a/webkit-gtk-2.46/distinfo
+++ b/webkit-gtk-2.46/distinfo
@@ -16,6 +16,7 @@ SHA1 (patch-Source_WTF_wtf_InlineASM.h) = 35afdd5143f4a2df8a5554a0b0b35141a8784c
 SHA1 (patch-Source_WTF_wtf_PlatformEnable.h) = 905b2b4bf4b8c90cf91eb8ecf1d414013cc3bcbb
 SHA1 (patch-Source_WTF_wtf_glib_FileSystemGlib.cpp) = a46ae871e2c0919da94bcb14a2b94d0e5a911922
 SHA1 (patch-Source_WebCore_page_NavigatorBase.cpp) = 1549a9bbbc11129e42995719d592ab747413eef6
+SHA1 (patch-Source_WebCore_platform_graphics_gbm_MemoryMappedGPUBuffer.cpp) = 89b8f7d0e411f21078c751e0d0dd904322222f8c
 SHA1 (patch-Source_WebCore_rendering_RenderBox.h) = 88bcb40bef0331b7d3c095ec9d0daab0dcaac6c4
 SHA1 (patch-Source_WebCore_rendering_shapes_ShapeOutsideInfo.cpp) = 9d75ffa335014b123611da2c32d124e5a9bb41fd
 SHA1 (patch-Source_WebKit_Platform_IPC_unix_ConnectionUnix.cpp) = dde292d5a8be48502253930e42126edee8f85460
@@ -23,8 +24,14 @@ SHA1 (patch-Source_WebKit_UIProcess_Launcher_glib_ProcessLauncherGLib.cpp) = 45a
 SHA1 (patch-Source_WebKit_UIProcess_gtk_AcceleratedBackingStore.cpp) = e2022bdff272135ceb9894c7df52b62dba12879a
 SHA1 (patch-Source_bmalloc_bmalloc_AvailableMemory.cpp) = 814ba3dc4f941ea13811f6c8d3d7a8ed47844c16
 SHA1 (patch-Source_bmalloc_bmalloc_AvailableMemory.h) = a1eace5da1fa5058067ed2b035e9d685906ce0e4
-SHA1 (patch-Source_bmalloc_bmalloc_BPlatform.h) = 73e57da70ced45db26fa0e039025aff4af25e2b8
+SHA1 (patch-Source_bmalloc_bmalloc_BPlatform.h) = 7259775cfae2a2219c5bd1d45671be69e8d2d987
 SHA1 (patch-Source_bmalloc_bmalloc_EligibilityResult.h) = 80358a6fd8ddf87271811f9af5b884332e59da22
 SHA1 (patch-Source_bmalloc_bmalloc_EligibilityResultInlines.h) = fbf027e2b2897e24cea2dd47cc60ff6d9d763e0e
 SHA1 (patch-Source_bmalloc_bmalloc_IsoAllocatorInlines.h) = 9fecc4321ea0e46b09a704ce1f817d0386a0fe36
+SHA1 (patch-Source_bmalloc_bmalloc_bmalloc.h) = 272b35e7a63d7082780917689119f5fe1bd8b000
+SHA1 (patch-Source_bmalloc_libpas_src_libpas_pas__committed__pages__vector.h) = c72f85e263e32a9ea6e20a3d88fb56ace9bcd05f
+SHA1 (patch-Source_bmalloc_libpas_src_libpas_pas__monotonic__time.c) = d2a212f812b1032a35908de78a2622fd0cf9772e
+SHA1 (patch-Source_bmalloc_libpas_src_libpas_pas__page__malloc.c) = 02361adfd4f2e6d786759069f9c99c3a83a2699c
+SHA1 (patch-Source_bmalloc_libpas_src_libpas_pas__platform.h) = d832e7a7a1bbf8e8de952432e5f411598a72f13d
+SHA1 (patch-Source_bmalloc_libpas_src_libpas_pas__random.h) = 161cec597118672f8a7cc4575ff2318284ce13e7
 SHA1 (patch-Source_cmake_FindFlite.cmake) = 83925123ffbac5620865df0fcf2f8e8dfbd3aa57
diff --git a/webkit-gtk-2.46/patches/patch-Source_WebCore_platform_graphics_gbm_MemoryMappedGPUBuffer.cpp b/webkit-gtk-2.46/patches/patch-Source_WebCore_platform_graphics_gbm_MemoryMappedGPUBuffer.cpp
new file mode 100644
index 0000000000..1682bb4291
--- /dev/null
+++ b/webkit-gtk-2.46/patches/patch-Source_WebCore_platform_graphics_gbm_MemoryMappedGPUBuffer.cpp
@@ -0,0 +1,32 @@
+$NetBSD$
+
+--- Source/WebCore/platform/graphics/gbm/MemoryMappedGPUBuffer.cpp.orig	2025-10-29 09:54:43.774761997 +0000
++++ Source/WebCore/platform/graphics/gbm/MemoryMappedGPUBuffer.cpp
+@@ -35,7 +35,9 @@
+ #include "PlatformDisplay.h"
+ #include <epoxy/egl.h>
+ #include <fcntl.h>
++#ifdef __linux__
+ #include <linux/dma-buf.h>
++#endif
+ #include <sys/ioctl.h>
+ #include <wtf/SafeStrerror.h>
+ #include <wtf/StdLibExtras.h>
+@@ -342,6 +344,7 @@ std::unique_ptr<MemoryMappedGPUBuffer::A
+ 
+ bool MemoryMappedGPUBuffer::performDMABufSyncSystemCall(OptionSet<DMABufSyncFlag> flags)
+ {
++#ifdef __linux__
+     constexpr unsigned maxRetries = 10;
+ 
+     struct dma_buf_sync sync;
+@@ -371,6 +374,9 @@ bool MemoryMappedGPUBuffer::performDMABu
+     }
+ 
+     return true;
++#else
++    return false;
++#endif
+ }
+ 
+ } // namespace WebCore
diff --git a/webkit-gtk-2.46/patches/patch-Source_bmalloc_bmalloc_BPlatform.h b/webkit-gtk-2.46/patches/patch-Source_bmalloc_bmalloc_BPlatform.h
index b8a46c20ad..4a261dff8e 100644
--- a/webkit-gtk-2.46/patches/patch-Source_bmalloc_bmalloc_BPlatform.h
+++ b/webkit-gtk-2.46/patches/patch-Source_bmalloc_bmalloc_BPlatform.h
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- Source/bmalloc/bmalloc/BPlatform.h.orig	2024-08-19 06:28:40.235246200 +0000
+--- Source/bmalloc/bmalloc/BPlatform.h.orig	2025-08-08 09:17:56.268456700 +0000
 +++ Source/bmalloc/bmalloc/BPlatform.h
-@@ -52,6 +52,10 @@
+@@ -60,6 +60,10 @@
  #define BOS_FREEBSD 1
  #endif
  
@@ -13,3 +13,12 @@ $NetBSD$
  #if defined(WIN32) || defined(_WIN32)
  #define BOS_WINDOWS 1
  #endif
+@@ -349,7 +353,7 @@
+ 
+ /* BENABLE(LIBPAS) is enabling libpas build. But this does not mean we use libpas for bmalloc replacement. */
+ #if !defined(BENABLE_LIBPAS)
+-#if BCPU(ADDRESS64) && (BOS(DARWIN) || BOS(WINDOWS) || (BOS(LINUX) && (BCPU(X86_64) || BCPU(ARM64))) || BPLATFORM(PLAYSTATION))
++#if BCPU(ADDRESS64) && (BOS(DARWIN) || BOS(WINDOWS) || ((BOS(LINUX) || BOS(NETBSD)) && (BCPU(X86_64) || BCPU(ARM64))) || BPLATFORM(PLAYSTATION))
+ #define BENABLE_LIBPAS 1
+ #ifndef PAS_BMALLOC
+ #define PAS_BMALLOC 1
diff --git a/webkit-gtk-2.46/patches/patch-Source_bmalloc_bmalloc_bmalloc.h b/webkit-gtk-2.46/patches/patch-Source_bmalloc_bmalloc_bmalloc.h
new file mode 100644
index 0000000000..aed1db45f2
--- /dev/null
+++ b/webkit-gtk-2.46/patches/patch-Source_bmalloc_bmalloc_bmalloc.h
@@ -0,0 +1,13 @@
+$NetBSD$
+
+--- Source/bmalloc/bmalloc/bmalloc.h.orig	2025-10-29 10:13:26.667038658 +0000
++++ Source/bmalloc/bmalloc/bmalloc.h
+@@ -210,7 +210,7 @@ inline size_t availableMemory()
+     return bmalloc::availableMemory();
+ }
+     
+-#if BPLATFORM(IOS_FAMILY) || BOS(LINUX) || BOS(FREEBSD)
++#if BPLATFORM(IOS_FAMILY) || BOS(LINUX) || BOS(FREEBSD) || BOS(NETBSD)
+ inline size_t memoryFootprint()
+ {
+     return bmalloc::memoryFootprint();
diff --git a/webkit-gtk-2.46/patches/patch-Source_bmalloc_libpas_src_libpas_pas__committed__pages__vector.h b/webkit-gtk-2.46/patches/patch-Source_bmalloc_libpas_src_libpas_pas__committed__pages__vector.h
new file mode 100644
index 0000000000..98db56dc6c
--- /dev/null
+++ b/webkit-gtk-2.46/patches/patch-Source_bmalloc_libpas_src_libpas_pas__committed__pages__vector.h
@@ -0,0 +1,13 @@
+$NetBSD$
+
+--- Source/bmalloc/libpas/src/libpas/pas_committed_pages_vector.h.orig	2025-10-29 10:22:05.571630361 +0000
++++ Source/bmalloc/libpas/src/libpas/pas_committed_pages_vector.h
+@@ -56,7 +56,7 @@ static inline bool pas_committed_pages_v
+                                                            size_t page_index)
+ {
+     PAS_ASSERT(page_index < vector->size);
+-#if PAS_OS(LINUX) || PAS_OS(WINDOWS)
++#if PAS_OS(LINUX) || PAS_OS(WINDOWS) || PAS_OS(NETBSD)
+     return vector->raw_data[page_index];
+ #else
+     return vector->raw_data[page_index] & (MINCORE_REFERENCED |
diff --git a/webkit-gtk-2.46/patches/patch-Source_bmalloc_libpas_src_libpas_pas__monotonic__time.c b/webkit-gtk-2.46/patches/patch-Source_bmalloc_libpas_src_libpas_pas__monotonic__time.c
new file mode 100644
index 0000000000..61aedc2a4e
--- /dev/null
+++ b/webkit-gtk-2.46/patches/patch-Source_bmalloc_libpas_src_libpas_pas__monotonic__time.c
@@ -0,0 +1,29 @@
+$NetBSD$
+
+--- Source/bmalloc/libpas/src/libpas/pas_monotonic_time.c.orig	2025-10-29 10:25:27.891099365 +0000
++++ Source/bmalloc/libpas/src/libpas/pas_monotonic_time.c
+@@ -36,7 +36,7 @@
+ #include <windows.h>
+ #endif
+ 
+-#if PAS_OS(LINUX) || PAS_PLATFORM(PLAYSTATION)
++#if PAS_OS(LINUX) || PAS_PLATFORM(PLAYSTATION) || PAS_OS(OPENBSD) || PAS_OS(NETBSD)
+ #include <time.h>
+ #endif
+ 
+@@ -88,6 +88,15 @@ uint64_t pas_get_current_monotonic_time_
+     return ts.tv_sec * 1.0e9 + ts.tv_nsec;
+ }
+ 
++#elif PAS_OS(OPENBSD) || PAS_OS(NETBSD)
++
++uint64_t pas_get_current_monotonic_time_nanoseconds(void)
++{
++    struct timespec ts;
++    clock_gettime(CLOCK_MONOTONIC, &ts);
++    return ts.tv_sec * 1.0e9 + ts.tv_nsec;
++}
++
+ #elif PAS_PLATFORM(PLAYSTATION)
+ 
+ uint64_t pas_get_current_monotonic_time_nanoseconds(void)
diff --git a/webkit-gtk-2.46/patches/patch-Source_bmalloc_libpas_src_libpas_pas__page__malloc.c b/webkit-gtk-2.46/patches/patch-Source_bmalloc_libpas_src_libpas_pas__page__malloc.c
new file mode 100644
index 0000000000..1d22e834ad
--- /dev/null
+++ b/webkit-gtk-2.46/patches/patch-Source_bmalloc_libpas_src_libpas_pas__page__malloc.c
@@ -0,0 +1,22 @@
+$NetBSD$
+
+--- Source/bmalloc/libpas/src/libpas/pas_page_malloc.c.orig	2025-10-29 10:28:33.883505020 +0000
++++ Source/bmalloc/libpas/src/libpas/pas_page_malloc.c
+@@ -323,7 +323,7 @@ static void commit_impl(void* ptr, size_
+     }
+ #elif PAS_PLATFORM(PLAYSTATION)
+     // We don't need to call madvise to map page.
+-#elif PAS_OS(FREEBSD)
++#elif PAS_OS(FREEBSD) || PAS_OS(NETBSD)
+     PAS_SYSCALL(madvise(ptr, size, MADV_NORMAL));
+ #endif
+ }
+@@ -366,7 +366,7 @@ static void decommit_impl(void* ptr, siz
+         pas_page_malloc_zero_fill(ptr, size);
+     else
+         PAS_SYSCALL(madvise(ptr, size, MADV_FREE_REUSABLE));
+-#elif PAS_OS(FREEBSD)
++#elif PAS_OS(FREEBSD) || PAS_OS(NETBSD)
+     PAS_SYSCALL(madvise(ptr, size, MADV_FREE));
+ #elif PAS_OS(LINUX)
+     PAS_SYSCALL(madvise(ptr, size, MADV_DONTNEED));
diff --git a/webkit-gtk-2.46/patches/patch-Source_bmalloc_libpas_src_libpas_pas__platform.h b/webkit-gtk-2.46/patches/patch-Source_bmalloc_libpas_src_libpas_pas__platform.h
new file mode 100644
index 0000000000..6140114a81
--- /dev/null
+++ b/webkit-gtk-2.46/patches/patch-Source_bmalloc_libpas_src_libpas_pas__platform.h
@@ -0,0 +1,19 @@
+$NetBSD$
+
+--- Source/bmalloc/libpas/src/libpas/pas_platform.h.orig	2025-10-29 10:30:36.719827256 +0000
++++ Source/bmalloc/libpas/src/libpas/pas_platform.h
+@@ -140,6 +140,14 @@
+ #define PAS_OS_FREEBSD 1
+ #endif
+ 
++#if defined(__NetBSD__)
++#define PAS_OS_NETBSD 1
++#endif
++
++#if defined(__OpenBSD__)
++#define PAS_OS_OPENBSD 1
++#endif
++
+ #if defined(WIN32) || defined(_WIN32)
+ #define PAS_OS_WINDOWS 1
+ #endif
diff --git a/webkit-gtk-2.46/patches/patch-Source_bmalloc_libpas_src_libpas_pas__random.h b/webkit-gtk-2.46/patches/patch-Source_bmalloc_libpas_src_libpas_pas__random.h
new file mode 100644
index 0000000000..1b0e3dd1e2
--- /dev/null
+++ b/webkit-gtk-2.46/patches/patch-Source_bmalloc_libpas_src_libpas_pas__random.h
@@ -0,0 +1,13 @@
+$NetBSD$
+
+--- Source/bmalloc/libpas/src/libpas/pas_random.h.orig	2025-10-29 10:34:06.335406632 +0000
++++ Source/bmalloc/libpas/src/libpas/pas_random.h
+@@ -69,7 +69,7 @@ static inline unsigned pas_get_secure_ra
+ 
+     /* Secure random is only supported on Darwin and FreeBSD at the moment due to arc4random being built into the
+       stdlib. Fall back to fast behavior on other operating systems. */
+-#if PAS_OS(DARWIN) || PAS_OS(FREEBSD)
++#if PAS_OS(DARWIN) || PAS_OS(FREEBSD) || PAS_OS(NETBSD)
+     rand_value = arc4random_uniform(upper_bound);
+ #else
+     pas_fast_random_state = pas_xorshift32(pas_fast_random_state);


Home | Main Index | Thread Index | Old Index