Wed Aug 17 21:15:27 2022 UTC ()
nodejs: clean up SunOS madvise(2) legacy mess


(tnn)
diff -r1.219 -r1.220 pkgsrc/lang/nodejs/distinfo
diff -r1.9 -r1.10 pkgsrc/lang/nodejs/patches/patch-deps_v8_src_base_platform_platform-posix.cc

cvs diff -r1.219 -r1.220 pkgsrc/lang/nodejs/distinfo (expand / switch to unified diff)

--- pkgsrc/lang/nodejs/distinfo 2022/07/27 08:42:23 1.219
+++ pkgsrc/lang/nodejs/distinfo 2022/08/17 21:15:27 1.220
@@ -1,25 +1,25 @@ @@ -1,25 +1,25 @@
1$NetBSD: distinfo,v 1.219 2022/07/27 08:42:23 adam Exp $ 1$NetBSD: distinfo,v 1.220 2022/08/17 21:15:27 tnn Exp $
2 2
3BLAKE2s (node-v18.7.0.tar.xz) = e7b09e919f7f1d222e6f92f9df48d31381799c40c70bb81de21fe7c83f57c556 3BLAKE2s (node-v18.7.0.tar.xz) = e7b09e919f7f1d222e6f92f9df48d31381799c40c70bb81de21fe7c83f57c556
4SHA512 (node-v18.7.0.tar.xz) = 3da56b25f304b4e205c27a59f2e442e7216e494465e4cce9f51ffd3f7c7da3ab3519c4b7d1eb41a754b86ecfa1d138d270578aa3908b4fd42cc5dbfd389a6798 4SHA512 (node-v18.7.0.tar.xz) = 3da56b25f304b4e205c27a59f2e442e7216e494465e4cce9f51ffd3f7c7da3ab3519c4b7d1eb41a754b86ecfa1d138d270578aa3908b4fd42cc5dbfd389a6798
5Size (node-v18.7.0.tar.xz) = 36945328 bytes 5Size (node-v18.7.0.tar.xz) = 36945328 bytes
6SHA1 (patch-common.gypi) = 80f3645498853b9939167d152365b4fa49528b70 6SHA1 (patch-common.gypi) = 80f3645498853b9939167d152365b4fa49528b70
7SHA1 (patch-deps_cares_cares.gyp) = 22b44f2ac59963f694dfe4f4585e08960b3dec32 7SHA1 (patch-deps_cares_cares.gyp) = 22b44f2ac59963f694dfe4f4585e08960b3dec32
8SHA1 (patch-deps_uv_common.gypi) = d38a9c8d9e3522f15812aec2f5b1e1e636d4bab3 8SHA1 (patch-deps_uv_common.gypi) = d38a9c8d9e3522f15812aec2f5b1e1e636d4bab3
9SHA1 (patch-deps_uvwasi_include_wasi__serdes.h) = 32b85ef5824b96b35aba9280bbe7aa7899d9e5cf 9SHA1 (patch-deps_uvwasi_include_wasi__serdes.h) = 32b85ef5824b96b35aba9280bbe7aa7899d9e5cf
10SHA1 (patch-deps_v8_src_base_platform_platform-freebsd.cc) = b47025f33d2991275bbcd15dbabb28900afab0e1 10SHA1 (patch-deps_v8_src_base_platform_platform-freebsd.cc) = b47025f33d2991275bbcd15dbabb28900afab0e1
11SHA1 (patch-deps_v8_src_base_platform_platform-openbsd.cc) = 5e593879dbab095f99e82593272a0de91043f9a8 11SHA1 (patch-deps_v8_src_base_platform_platform-openbsd.cc) = 5e593879dbab095f99e82593272a0de91043f9a8
12SHA1 (patch-deps_v8_src_base_platform_platform-posix.cc) = 099d538e33611c7094d89669287de7b2a17c4b6e 12SHA1 (patch-deps_v8_src_base_platform_platform-posix.cc) = 0fdbc003d63429e9e097531d7848d16011f273a8
13SHA1 (patch-deps_v8_src_base_platform_semaphore.cc) = 802a95f1b1d131e0d85c1f99c659cc68b31ba2f6 13SHA1 (patch-deps_v8_src_base_platform_semaphore.cc) = 802a95f1b1d131e0d85c1f99c659cc68b31ba2f6
14SHA1 (patch-deps_v8_src_base_strings.h) = 4d2b37491f2f74f1a573f8c1942790204e23a8bb 14SHA1 (patch-deps_v8_src_base_strings.h) = 4d2b37491f2f74f1a573f8c1942790204e23a8bb
15SHA1 (patch-deps_v8_src_codegen_arm_cpu-arm.cc) = 84c75d61bc99c2ff9adeac3152f5b11ebb0e582b 15SHA1 (patch-deps_v8_src_codegen_arm_cpu-arm.cc) = 84c75d61bc99c2ff9adeac3152f5b11ebb0e582b
16SHA1 (patch-deps_v8_src_common_globals.h) = 86637724864389f2b24251904de41669a2f00fbc 16SHA1 (patch-deps_v8_src_common_globals.h) = 86637724864389f2b24251904de41669a2f00fbc
17SHA1 (patch-deps_v8_src_compiler_types.h) = 2a212282ab9d71e98ae56827fdb1d9778a6047a5 17SHA1 (patch-deps_v8_src_compiler_types.h) = 2a212282ab9d71e98ae56827fdb1d9778a6047a5
18SHA1 (patch-deps_v8_src_heap_code-range.cc) = b281f76f4e3d8e562f596235049a6be7c5ff4de2 18SHA1 (patch-deps_v8_src_heap_code-range.cc) = b281f76f4e3d8e562f596235049a6be7c5ff4de2
19SHA1 (patch-deps_v8_tools_run-llprof.sh) = 39aa3faf77492ef8dd35b411b7b0e4605b469af3 19SHA1 (patch-deps_v8_tools_run-llprof.sh) = 39aa3faf77492ef8dd35b411b7b0e4605b469af3
20SHA1 (patch-node.gypi) = 4a104dba6c22702211009bc60a6be6f87554e2fa 20SHA1 (patch-node.gypi) = 4a104dba6c22702211009bc60a6be6f87554e2fa
21SHA1 (patch-src_crypto_crypto__rsa.cc) = 9ffd8de2fac76014696c8dfac7ba200eab56f6f6 21SHA1 (patch-src_crypto_crypto__rsa.cc) = 9ffd8de2fac76014696c8dfac7ba200eab56f6f6
22SHA1 (patch-src_inspector__agent.cc) = 3fd3d71f9d6013a6eb2a79e0442b31d2e2408a2f 22SHA1 (patch-src_inspector__agent.cc) = 3fd3d71f9d6013a6eb2a79e0442b31d2e2408a2f
23SHA1 (patch-src_node__postmortem__metadata.cc) = 9938482d724ad6636af5dc3fa719ec26ed8539ff 23SHA1 (patch-src_node__postmortem__metadata.cc) = 9938482d724ad6636af5dc3fa719ec26ed8539ff
24SHA1 (patch-tools_gyp_pylib_gyp_generator_make.py) = 570fe9889767c555468a225cd7f0b398ea6a193c 24SHA1 (patch-tools_gyp_pylib_gyp_generator_make.py) = 570fe9889767c555468a225cd7f0b398ea6a193c
25SHA1 (patch-tools_gyp_pylib_gyp_xcode__emulation.py) = 4ee24115f5e97ffbd23aaa6dc62f408d381d4e22 25SHA1 (patch-tools_gyp_pylib_gyp_xcode__emulation.py) = 4ee24115f5e97ffbd23aaa6dc62f408d381d4e22

cvs diff -r1.9 -r1.10 pkgsrc/lang/nodejs/patches/patch-deps_v8_src_base_platform_platform-posix.cc (expand / switch to unified diff)

--- pkgsrc/lang/nodejs/patches/patch-deps_v8_src_base_platform_platform-posix.cc 2022/05/05 07:08:06 1.9
+++ pkgsrc/lang/nodejs/patches/patch-deps_v8_src_base_platform_platform-posix.cc 2022/08/17 21:15:27 1.10
@@ -1,51 +1,82 @@ @@ -1,51 +1,82 @@
1$NetBSD: patch-deps_v8_src_base_platform_platform-posix.cc,v 1.9 2022/05/05 07:08:06 adam Exp $ 1$NetBSD: patch-deps_v8_src_base_platform_platform-posix.cc,v 1.10 2022/08/17 21:15:27 tnn Exp $
2 2
3Use sysconf(_SC_THREAD_STACK_MIN) instead of PTHREAD_STACK_MIN. 3Use sysconf(_SC_THREAD_STACK_MIN) instead of PTHREAD_STACK_MIN.
4Cast explicitly. 4Cast explicitly.
 5Remove legacy madvise(2) prototypes, prefer posix_madvise(2) if available.
5 6
6Avoid using a random hint, some low numbers cause spurious ENOMEM on netbsd 7Avoid using a random hint, some low numbers cause spurious ENOMEM on netbsd
7(PR port-arm/55533) 8(PR port-arm/55533)
8 9
9--- deps/v8/src/base/platform/platform-posix.cc.orig 2022-05-03 08:18:09.000000000 +0000 10--- deps/v8/src/base/platform/platform-posix.cc.orig 2022-07-26 14:30:08.000000000 +0000
10+++ deps/v8/src/base/platform/platform-posix.cc 11+++ deps/v8/src/base/platform/platform-posix.cc
11@@ -384,6 +384,10 @@ void* OS::GetRandomMmapAddr() { 12@@ -72,14 +72,6 @@
 13 #define MAP_ANONYMOUS MAP_ANON
 14 #endif
 15
 16-#if defined(V8_OS_SOLARIS)
 17-#if (defined(_POSIX_C_SOURCE) && _POSIX_C_SOURCE > 2) || defined(__EXTENSIONS__)
 18-extern "C" int madvise(caddr_t, size_t, int);
 19-#else
 20-extern int madvise(caddr_t, size_t, int);
 21-#endif
 22-#endif
 23-
 24 #ifndef MADV_FREE
 25 #define MADV_FREE MADV_DONTNEED
 26 #endif
 27@@ -384,6 +376,10 @@ void* OS::GetRandomMmapAddr() {
12 #endif 28 #endif
13 #endif 29 #endif
14 #endif 30 #endif
15+ 31+
16+#if V8_OS_NETBSD 32+#if V8_OS_NETBSD
17+ raw_addr = 0; 33+ raw_addr = 0;
18+#endif 34+#endif
19 return reinterpret_cast<void*>(raw_addr); 35 return reinterpret_cast<void*>(raw_addr);
20 } 36 }
21  37
22@@ -733,6 +737,8 @@ int OS::GetCurrentThreadId() { 38@@ -515,12 +511,10 @@ bool OS::DiscardSystemPages(void* addres
 39 // MADV_FREE_REUSABLE sometimes fails, so fall back to MADV_DONTNEED.
 40 ret = madvise(address, size, MADV_DONTNEED);
 41 }
 42-#elif defined(_AIX) || defined(V8_OS_SOLARIS)
 43- int ret = madvise(reinterpret_cast<caddr_t>(address), size, MADV_FREE);
 44+#elif defined(POSIX_MADV_DONTNEED)
 45+ int ret = posix_madvise(address, size, POSIX_MADV_DONTNEED);
 46 if (ret != 0 && errno == ENOSYS)
 47 return true; // madvise is not available on all systems.
 48- if (ret != 0 && errno == EINVAL)
 49- ret = madvise(reinterpret_cast<caddr_t>(address), size, MADV_DONTNEED);
 50 #else
 51 int ret = madvise(address, size, MADV_DONTNEED);
 52 #endif
 53@@ -733,6 +727,8 @@ int OS::GetCurrentThreadId() {
23 return static_cast<int>(syscall(__NR_gettid)); 54 return static_cast<int>(syscall(__NR_gettid));
24 #elif V8_OS_ANDROID 55 #elif V8_OS_ANDROID
25 return static_cast<int>(gettid()); 56 return static_cast<int>(gettid());
26+#elif V8_OS_NETBSD || V8_OS_FREEBSD 57+#elif V8_OS_NETBSD || V8_OS_FREEBSD
27+ return static_cast<int>(reinterpret_cast<intptr_t>(pthread_self())); 58+ return static_cast<int>(reinterpret_cast<intptr_t>(pthread_self()));
28 #elif V8_OS_AIX 59 #elif V8_OS_AIX
29 return static_cast<int>(thread_self()); 60 return static_cast<int>(thread_self());
30 #elif V8_OS_FUCHSIA 61 #elif V8_OS_FUCHSIA
31@@ -1000,7 +1006,11 @@ Thread::Thread(const Options& options) 62@@ -1000,7 +996,11 @@ Thread::Thread(const Options& options)
32 : data_(new PlatformData), 63 : data_(new PlatformData),
33 stack_size_(options.stack_size()), 64 stack_size_(options.stack_size()),
34 start_semaphore_(nullptr) { 65 start_semaphore_(nullptr) {
35+#if V8_OS_NETBSD 66+#if V8_OS_NETBSD
36+ const int min_stack_size = sysconf(_SC_THREAD_STACK_MIN); 67+ const int min_stack_size = sysconf(_SC_THREAD_STACK_MIN);
37+#else 68+#else
38 const int min_stack_size = static_cast<int>(PTHREAD_STACK_MIN); 69 const int min_stack_size = static_cast<int>(PTHREAD_STACK_MIN);
39+#endif 70+#endif
40 if (stack_size_ > 0) stack_size_ = std::max(stack_size_, min_stack_size); 71 if (stack_size_ > 0) stack_size_ = std::max(stack_size_, min_stack_size);
41 set_name(options.name()); 72 set_name(options.name());
42 } 73 }
43@@ -1016,7 +1026,7 @@ static void SetThreadName(const char* na 74@@ -1016,7 +1016,7 @@ static void SetThreadName(const char* na
44 pthread_set_name_np(pthread_self(), name); 75 pthread_set_name_np(pthread_self(), name);
45 #elif V8_OS_NETBSD 76 #elif V8_OS_NETBSD
46 STATIC_ASSERT(Thread::kMaxThreadNameLength <= PTHREAD_MAX_NAMELEN_NP); 77 STATIC_ASSERT(Thread::kMaxThreadNameLength <= PTHREAD_MAX_NAMELEN_NP);
47- pthread_setname_np(pthread_self(), "%s", name); 78- pthread_setname_np(pthread_self(), "%s", name);
48+ pthread_setname_np(pthread_self(), "%s", (void *)name); 79+ pthread_setname_np(pthread_self(), "%s", (void *)name);
49 #elif V8_OS_DARWIN 80 #elif V8_OS_DARWIN
50 // pthread_setname_np is only available in 10.6 or later, so test 81 // pthread_setname_np is only available in 10.6 or later, so test
51 // for it at runtime. 82 // for it at runtime.