pkgsrc-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[pkgsrc/trunk]: pkgsrc/lang/nodejs nodejs: clean up SunOS madvise(2) legacy mess
details: https://anonhg.NetBSD.org/pkgsrc/rev/9a4f36a41e96
branches: trunk
changeset: 383337:9a4f36a41e96
user: tnn <tnn%pkgsrc.org@localhost>
date: Wed Aug 17 21:15:27 2022 +0000
description:
nodejs: clean up SunOS madvise(2) legacy mess
diffstat:
lang/nodejs/distinfo | 4 +-
lang/nodejs/patches/patch-deps_v8_src_base_platform_platform-posix.cc | 43 ++++++++-
2 files changed, 39 insertions(+), 8 deletions(-)
diffs (97 lines):
diff -r 16de817ba218 -r 9a4f36a41e96 lang/nodejs/distinfo
--- a/lang/nodejs/distinfo Wed Aug 17 20:53:54 2022 +0000
+++ b/lang/nodejs/distinfo Wed Aug 17 21:15:27 2022 +0000
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.219 2022/07/27 08:42:23 adam Exp $
+$NetBSD: distinfo,v 1.220 2022/08/17 21:15:27 tnn Exp $
BLAKE2s (node-v18.7.0.tar.xz) = e7b09e919f7f1d222e6f92f9df48d31381799c40c70bb81de21fe7c83f57c556
SHA512 (node-v18.7.0.tar.xz) = 3da56b25f304b4e205c27a59f2e442e7216e494465e4cce9f51ffd3f7c7da3ab3519c4b7d1eb41a754b86ecfa1d138d270578aa3908b4fd42cc5dbfd389a6798
@@ -9,7 +9,7 @@
SHA1 (patch-deps_uvwasi_include_wasi__serdes.h) = 32b85ef5824b96b35aba9280bbe7aa7899d9e5cf
SHA1 (patch-deps_v8_src_base_platform_platform-freebsd.cc) = b47025f33d2991275bbcd15dbabb28900afab0e1
SHA1 (patch-deps_v8_src_base_platform_platform-openbsd.cc) = 5e593879dbab095f99e82593272a0de91043f9a8
-SHA1 (patch-deps_v8_src_base_platform_platform-posix.cc) = 099d538e33611c7094d89669287de7b2a17c4b6e
+SHA1 (patch-deps_v8_src_base_platform_platform-posix.cc) = 0fdbc003d63429e9e097531d7848d16011f273a8
SHA1 (patch-deps_v8_src_base_platform_semaphore.cc) = 802a95f1b1d131e0d85c1f99c659cc68b31ba2f6
SHA1 (patch-deps_v8_src_base_strings.h) = 4d2b37491f2f74f1a573f8c1942790204e23a8bb
SHA1 (patch-deps_v8_src_codegen_arm_cpu-arm.cc) = 84c75d61bc99c2ff9adeac3152f5b11ebb0e582b
diff -r 16de817ba218 -r 9a4f36a41e96 lang/nodejs/patches/patch-deps_v8_src_base_platform_platform-posix.cc
--- a/lang/nodejs/patches/patch-deps_v8_src_base_platform_platform-posix.cc Wed Aug 17 20:53:54 2022 +0000
+++ b/lang/nodejs/patches/patch-deps_v8_src_base_platform_platform-posix.cc Wed Aug 17 21:15:27 2022 +0000
@@ -1,14 +1,30 @@
-$NetBSD: patch-deps_v8_src_base_platform_platform-posix.cc,v 1.9 2022/05/05 07:08:06 adam Exp $
+$NetBSD: patch-deps_v8_src_base_platform_platform-posix.cc,v 1.10 2022/08/17 21:15:27 tnn Exp $
Use sysconf(_SC_THREAD_STACK_MIN) instead of PTHREAD_STACK_MIN.
Cast explicitly.
+Remove legacy madvise(2) prototypes, prefer posix_madvise(2) if available.
Avoid using a random hint, some low numbers cause spurious ENOMEM on netbsd
(PR port-arm/55533)
---- deps/v8/src/base/platform/platform-posix.cc.orig 2022-05-03 08:18:09.000000000 +0000
+--- deps/v8/src/base/platform/platform-posix.cc.orig 2022-07-26 14:30:08.000000000 +0000
+++ deps/v8/src/base/platform/platform-posix.cc
-@@ -384,6 +384,10 @@ void* OS::GetRandomMmapAddr() {
+@@ -72,14 +72,6 @@
+ #define MAP_ANONYMOUS MAP_ANON
+ #endif
+
+-#if defined(V8_OS_SOLARIS)
+-#if (defined(_POSIX_C_SOURCE) && _POSIX_C_SOURCE > 2) || defined(__EXTENSIONS__)
+-extern "C" int madvise(caddr_t, size_t, int);
+-#else
+-extern int madvise(caddr_t, size_t, int);
+-#endif
+-#endif
+-
+ #ifndef MADV_FREE
+ #define MADV_FREE MADV_DONTNEED
+ #endif
+@@ -384,6 +376,10 @@ void* OS::GetRandomMmapAddr() {
#endif
#endif
#endif
@@ -19,7 +35,22 @@
return reinterpret_cast<void*>(raw_addr);
}
-@@ -733,6 +737,8 @@ int OS::GetCurrentThreadId() {
+@@ -515,12 +511,10 @@ bool OS::DiscardSystemPages(void* addres
+ // MADV_FREE_REUSABLE sometimes fails, so fall back to MADV_DONTNEED.
+ ret = madvise(address, size, MADV_DONTNEED);
+ }
+-#elif defined(_AIX) || defined(V8_OS_SOLARIS)
+- int ret = madvise(reinterpret_cast<caddr_t>(address), size, MADV_FREE);
++#elif defined(POSIX_MADV_DONTNEED)
++ int ret = posix_madvise(address, size, POSIX_MADV_DONTNEED);
+ if (ret != 0 && errno == ENOSYS)
+ return true; // madvise is not available on all systems.
+- if (ret != 0 && errno == EINVAL)
+- ret = madvise(reinterpret_cast<caddr_t>(address), size, MADV_DONTNEED);
+ #else
+ int ret = madvise(address, size, MADV_DONTNEED);
+ #endif
+@@ -733,6 +727,8 @@ int OS::GetCurrentThreadId() {
return static_cast<int>(syscall(__NR_gettid));
#elif V8_OS_ANDROID
return static_cast<int>(gettid());
@@ -28,7 +59,7 @@
#elif V8_OS_AIX
return static_cast<int>(thread_self());
#elif V8_OS_FUCHSIA
-@@ -1000,7 +1006,11 @@ Thread::Thread(const Options& options)
+@@ -1000,7 +996,11 @@ Thread::Thread(const Options& options)
: data_(new PlatformData),
stack_size_(options.stack_size()),
start_semaphore_(nullptr) {
@@ -40,7 +71,7 @@
if (stack_size_ > 0) stack_size_ = std::max(stack_size_, min_stack_size);
set_name(options.name());
}
-@@ -1016,7 +1026,7 @@ static void SetThreadName(const char* na
+@@ -1016,7 +1016,7 @@ static void SetThreadName(const char* na
pthread_set_name_np(pthread_self(), name);
#elif V8_OS_NETBSD
STATIC_ASSERT(Thread::kMaxThreadNameLength <= PTHREAD_MAX_NAMELEN_NP);
Home |
Main Index |
Thread Index |
Old Index