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