Index | Thread | Search

From:
Volker Schlecht <openbsd-ports@schlecht.dev>
Subject:
Re: [Maintainer Update] lang/node 20.13.1
To:
ports@openbsd.org
Cc:
aisha@openbsd.org, gkoehler@openbsd.org
Date:
Tue, 14 May 2024 19:33:13 +0200

Download raw body.

Thread
Update with some additional feedback from jca@ for riscv64 and without REVISION.

On 2024-05-13 19:51, Volker Schlecht wrote:
>I'd like to propose a switch of lang/node to their 20.x release branch, the
>currently active LTS release, which is probably more likely to become compatible
>with OpenSSL 3.2 eventually :-)
>
>The attached diff builds and works on amd64 (with IBT) and arm64 (tested
>without IBT). It includes patches for riscv from jca@, so it should build there
>as well.
>
>It would be great if someone could try it out on ppc64. FreeBSD includes two
>patches for that platform, but I don't know if those are needed or even make
>sense for us:
>
>https://raw.githubusercontent.com/freebsd/freebsd-ports/main/www/node20/files/patch-deps_v8_src_libsampler_sampler.cc
>https://raw.githubusercontent.com/freebsd/freebsd-ports/main/www/node20/files/patch-deps_v8_src_codegen_ppc_constants-ppc.h
>
>aisha@ : could you give your WIP javascript ports a spin with that version of
>node?
Index: Makefile
===================================================================
RCS file: /cvs/ports/lang/node/Makefile,v
diff -u -p -r1.133 Makefile
--- Makefile	6 May 2024 12:23:44 -0000	1.133
+++ Makefile	14 May 2024 17:29:41 -0000
@@ -5,7 +5,7 @@ USE_WXNEEDED =		Yes
 
 COMMENT = JavaScript runtime built on Chrome's V8 JavaScript engine
 
-NODE_VERSION =		v18.19.1
+NODE_VERSION =		v20.13.1
 PLEDGE_VER =		1.1.3
 DISTFILES =		${DISTNAME}-headers.tar.gz \
 			${DISTNAME}.tar.xz
@@ -14,7 +14,6 @@ DISTFILES.pledge =	node-pledge-{}${PLEDG
 DISTNAME =		node-${NODE_VERSION}
 PKGNAME =		${DISTNAME:S/v//g}
 EPOCH =			0
-REVISION =		0
 
 SITES.pledge =		https://github.com/qbit/node-pledge/archive/
 
@@ -50,7 +49,7 @@ RUN_DEPENDS =		devel/gmake \
 # Needed to build js_native_api_v8_internals.h
 TEST_DEPENDS =		devel/gtest
 
-TEST_TARGET =		test-only
+TEST_TARGET =		check
 CONFIGURE_STYLE =	simple
 CONFIGURE_SCRIPT =	configure
 
@@ -72,8 +71,8 @@ SUBST_VARS +=		EOPENSSL_LIB
 
 # uses a wide range of OpenSSL API and only really supports boring/openssl
 LIB_DEPENDS +=		archivers/brotli \
-			devel/libuv \
 			net/libcares \
+			devel/libuv \
 			textproc/icu4c \
 			www/nghttp2 \
 			security/openssl/3.1
Index: distinfo
===================================================================
RCS file: /cvs/ports/lang/node/distinfo,v
diff -u -p -r1.75 distinfo
--- distinfo	19 Feb 2024 07:45:39 -0000	1.75
+++ distinfo	14 May 2024 17:29:41 -0000
@@ -1,6 +1,6 @@
 SHA256 (node-pledge-1.1.3.tar.gz) = fEaXvLg6hYEJ69K+mgQFizf8DiJY2/DtyFJB/pEanVU=
-SHA256 (node-v18.19.1-headers.tar.gz) = JrnSZiPunJa/SfEq8t34CtUfdO4hmh78TOvCl+983ps=
-SHA256 (node-v18.19.1.tar.xz) = CQ+WouzeCAtrOCxtZCvKXQvkcCp4y1Vb578CsgvRbe0=
+SHA256 (node-v20.13.1-headers.tar.gz) = +BYHlm1REnbuwpEjGiMp4rYm1e1z6MtaE2FqajIPYLI=
+SHA256 (node-v20.13.1.tar.xz) = eReGoJAjJBy35PfWXskKqSS7ORQf97ttWh3t9970tOc=
 SIZE (node-pledge-1.1.3.tar.gz) = 3167
-SIZE (node-v18.19.1-headers.tar.gz) = 8716368
-SIZE (node-v18.19.1.tar.xz) = 41250068
+SIZE (node-v20.13.1-headers.tar.gz) = 8760725
+SIZE (node-v20.13.1.tar.xz) = 41770976
Index: patches/patch-Makefile
===================================================================
RCS file: /cvs/ports/lang/node/patches/patch-Makefile,v
diff -u -p -r1.19 patch-Makefile
--- patches/patch-Makefile	26 Sep 2023 10:44:19 -0000	1.19
+++ patches/patch-Makefile	14 May 2024 17:29:41 -0000
@@ -7,10 +7,10 @@ Index: Makefile
  .PHONY: install
 -install: all ## Installs node into $PREFIX (default=/usr/local).
 +install: all build-pledge ## Installs node into $PREFIX (default=/usr/local).
- 	$(PYTHON) tools/install.py $@ '$(DESTDIR)' '$(PREFIX)'
+ 	$(PYTHON) tools/install.py $@ --dest-dir '$(DESTDIR)' --prefix '$(PREFIX)'
  
  .PHONY: uninstall
-@@ -420,6 +420,12 @@ test/addons/.buildstamp: $(ADDONS_PREREQS) \
+@@ -433,6 +433,12 @@ test/addons/.buildstamp: $(ADDONS_PREREQS) \
  # Just goes to show that recursive make really is harmful...
  # TODO(bnoordhuis) Force rebuild after gyp update.
  build-addons: | $(NODE_EXE) test/addons/.buildstamp
Index: patches/patch-common_gypi
===================================================================
RCS file: /cvs/ports/lang/node/patches/patch-common_gypi,v
diff -u -p -r1.30 patch-common_gypi
--- patches/patch-common_gypi	26 Sep 2023 10:44:19 -0000	1.30
+++ patches/patch-common_gypi	14 May 2024 17:29:41 -0000
@@ -1,7 +1,7 @@
 Index: common.gypi
 --- common.gypi.orig
 +++ common.gypi
-@@ -180,7 +180,6 @@
+@@ -189,7 +189,6 @@
              }],
            ],
          },
@@ -9,7 +9,7 @@ Index: common.gypi
          'conditions': [
            ['enable_lto=="true"', {
              'cflags': ['<(lto)'],
-@@ -409,7 +408,9 @@
+@@ -473,7 +472,9 @@
            }],
            ['OS=="openbsd"', {
              'cflags': [ '-I/usr/local/include' ],
@@ -20,7 +20,7 @@ Index: common.gypi
            }],
            ['_toolset=="host"', {
              'conditions': [
-@@ -426,7 +427,7 @@
+@@ -490,7 +491,7 @@
                  'ldflags': [ '-m32' ],
                }],
                [ 'host_arch=="ppc64" and OS not in "aix os400"', {
@@ -29,7 +29,7 @@ Index: common.gypi
                  'ldflags': [ '-m64' ],
                }],
                [ 'host_arch=="s390x" and OS=="linux"', {
-@@ -450,7 +451,7 @@
+@@ -514,7 +515,7 @@
                  'ldflags': [ '-m32' ],
                }],
                [ 'target_arch=="ppc64" and OS not in "aix os400"', {
Index: patches/patch-configure
===================================================================
RCS file: /cvs/ports/lang/node/patches/patch-configure,v
diff -u -p -r1.2 patch-configure
--- patches/patch-configure	19 Feb 2023 12:27:19 -0000	1.2
+++ patches/patch-configure	14 May 2024 17:29:41 -0000
@@ -1,10 +1,11 @@
 Index: configure
 --- configure.orig
 +++ configure
-@@ -4,12 +4,6 @@
+@@ -4,13 +4,6 @@
  # Note that the mix of single and double quotes is intentional,
  # as is the fact that the ] goes on a new line.
  _=[ 'exec' '/bin/sh' '-c' '''
+-command -v python3.12 >/dev/null && exec python3.12 "$0" "$@"
 -command -v python3.11 >/dev/null && exec python3.11 "$0" "$@"
 -command -v python3.10 >/dev/null && exec python3.10 "$0" "$@"
 -command -v python3.9 >/dev/null && exec python3.9 "$0" "$@"
Index: patches/patch-configure_py
===================================================================
RCS file: /cvs/ports/lang/node/patches/patch-configure_py,v
diff -u -p -r1.4 patch-configure_py
--- patches/patch-configure_py	15 Aug 2023 13:46:36 -0000	1.4
+++ patches/patch-configure_py	14 May 2024 17:29:41 -0000
@@ -1,7 +1,7 @@
 Index: configure.py
 --- configure.py.orig
 +++ configure.py
-@@ -1560,6 +1560,10 @@ def configure_v8(o):
+@@ -1540,6 +1540,10 @@ def configure_v8(o):
      raise Exception(
          'Only one of the --v8-enable-object-print or --v8-disable-object-print options '
          'can be specified at a time.')
Index: patches/patch-deps_ada_ada_cpp
===================================================================
RCS file: /cvs/ports/lang/node/patches/patch-deps_ada_ada_cpp,v
diff -u -p -r1.1 patch-deps_ada_ada_cpp
--- patches/patch-deps_ada_ada_cpp	7 Dec 2023 17:01:27 -0000	1.1
+++ patches/patch-deps_ada_ada_cpp	14 May 2024 17:29:41 -0000
@@ -1,7 +1,7 @@
 Index: deps/ada/ada.cpp
 --- deps/ada/ada.cpp.orig
 +++ deps/ada/ada.cpp
-@@ -10512,7 +10512,7 @@ ada_unused std::string get_state(ada::state s) {
+@@ -10485,7 +10485,7 @@ ada_unused std::string get_state(ada::state s) {
        return "Special Authority Slashes";
      case ada::state::SPECIAL_RELATIVE_OR_AUTHORITY:
        return "Special Relative or Authority";
@@ -10,7 +10,7 @@ Index: deps/ada/ada.cpp
        return "Query";
      case ada::state::PATH:
        return "Path";
-@@ -12504,7 +12504,7 @@ result_type parse_url(std::string_view user_input,
+@@ -12573,7 +12573,7 @@ result_type parse_url(std::string_view user_input,
            // state to query state.
            if ((input_position != input_size) &&
                (url_data[input_position] == '?')) {
@@ -19,7 +19,7 @@ Index: deps/ada/ada.cpp
            }
            // Otherwise, if c is not the EOF code point:
            else if (input_position != input_size) {
-@@ -12599,7 +12599,7 @@ result_type parse_url(std::string_view user_input,
+@@ -12668,7 +12668,7 @@ result_type parse_url(std::string_view user_input,
  
          break;
        }
@@ -28,7 +28,7 @@ Index: deps/ada/ada.cpp
          ada_log("QUERY ", helpers::substring(url_data, input_position));
          // Let queryPercentEncodeSet be the special-query percent-encode set if
          // url is special; otherwise the query percent-encode set.
-@@ -12681,7 +12681,7 @@ result_type parse_url(std::string_view user_input,
+@@ -12750,7 +12750,7 @@ result_type parse_url(std::string_view user_input,
          size_t location = view.find('?');
          if (location != std::string_view::npos) {
            view.remove_suffix(view.size() - location);
@@ -37,7 +37,7 @@ Index: deps/ada/ada.cpp
            input_position += location + 1;
          } else {
            input_position = input_size + 1;
-@@ -12734,7 +12734,7 @@ result_type parse_url(std::string_view user_input,
+@@ -12803,7 +12803,7 @@ result_type parse_url(std::string_view user_input,
          // set url's query to the empty string and state to query state.
          else if ((input_position != input_size) &&
                   (url_data[input_position] == '?')) {
@@ -46,7 +46,7 @@ Index: deps/ada/ada.cpp
          }
          // Otherwise, if c is not the EOF code point:
          else if (input_position != input_size) {
-@@ -12758,7 +12758,7 @@ result_type parse_url(std::string_view user_input,
+@@ -12827,7 +12827,7 @@ result_type parse_url(std::string_view user_input,
          // Furthermore, we can immediately locate the '?'.
          size_t locofquestionmark = view.find('?');
          if (locofquestionmark != std::string_view::npos) {
@@ -55,7 +55,7 @@ Index: deps/ada/ada.cpp
            view.remove_suffix(view.size() - locofquestionmark);
            input_position += locofquestionmark + 1;
          } else {
-@@ -12918,7 +12918,7 @@ result_type parse_url(std::string_view user_input,
+@@ -12987,7 +12987,7 @@ result_type parse_url(std::string_view user_input,
            // If c is U+003F (?), then set url's query to the empty string and
            // state to query state.
            if (input_position != input_size && url_data[input_position] == '?') {
Index: patches/patch-deps_ada_ada_h
===================================================================
RCS file: /cvs/ports/lang/node/patches/patch-deps_ada_ada_h,v
diff -u -p -r1.1 patch-deps_ada_ada_h
--- patches/patch-deps_ada_ada_h	7 Dec 2023 17:01:27 -0000	1.1
+++ patches/patch-deps_ada_ada_h	14 May 2024 17:29:41 -0000
@@ -1,7 +1,7 @@
 Index: deps/ada/ada.h
 --- deps/ada/ada.h.orig
 +++ deps/ada/ada.h
-@@ -1219,7 +1219,7 @@ enum class state {
+@@ -1229,7 +1229,7 @@ enum class state {
    SPECIAL_AUTHORITY_IGNORE_SLASHES,
    SPECIAL_AUTHORITY_SLASHES,
    SPECIAL_RELATIVE_OR_AUTHORITY,
Index: patches/patch-deps_base64_base64_Makefile
===================================================================
RCS file: /cvs/ports/lang/node/patches/patch-deps_base64_base64_Makefile,v
diff -u -p -r1.1 patch-deps_base64_base64_Makefile
--- patches/patch-deps_base64_base64_Makefile	29 Dec 2022 23:34:13 -0000	1.1
+++ patches/patch-deps_base64_base64_Makefile	14 May 2024 17:29:41 -0000
@@ -1,9 +1,10 @@
 Index: deps/base64/base64/Makefile
 --- deps/base64/base64/Makefile.orig
 +++ deps/base64/base64/Makefile
-@@ -1,4 +1,4 @@
--CFLAGS += -std=c99 -O3 -Wall -Wextra -pedantic
-+CFLAGS += -std=c99 -Wall -Wextra -pedantic
- 
+@@ -1,5 +1,5 @@
+ CFLAGS += -std=c99 -O3 -Wall -Wextra -pedantic -DBASE64_STATIC_DEFINE
+-
++CFLAGS += -std=c99 -Wall -Wextra -pedantic -DBASE64_STATIC_DEFINE 
  # Set OBJCOPY if not defined by environment:
  OBJCOPY ?= objcopy
+ 
Index: patches/patch-deps_v8_include_v8-internal_h
===================================================================
RCS file: patches/patch-deps_v8_include_v8-internal_h
diff -N patches/patch-deps_v8_include_v8-internal_h
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ patches/patch-deps_v8_include_v8-internal_h	14 May 2024 17:29:41 -0000
@@ -0,0 +1,12 @@
+Index: deps/v8/include/v8-internal.h
+--- deps/v8/include/v8-internal.h.orig
++++ deps/v8/include/v8-internal.h
+@@ -173,7 +173,7 @@ using SandboxedPointer_t = Address;
+ #ifdef V8_ENABLE_SANDBOX
+ 
+ // Size of the sandbox, excluding the guard regions surrounding it.
+-#ifdef V8_TARGET_OS_ANDROID
++#if defined(V8_TARGET_OS_ANDROID) || defined(V8_TARGET_OS_OPENBSD)
+ // On Android, most 64-bit devices seem to be configured with only 39 bits of
+ // virtual address space for userspace. As such, limit the sandbox to 128GB (a
+ // quarter of the total available address space).
Index: patches/patch-deps_v8_include_v8config_h
===================================================================
RCS file: /cvs/ports/lang/node/patches/patch-deps_v8_include_v8config_h,v
diff -u -p -r1.3 patch-deps_v8_include_v8config_h
--- patches/patch-deps_v8_include_v8config_h	29 Dec 2022 23:34:13 -0000	1.3
+++ patches/patch-deps_v8_include_v8config_h	14 May 2024 17:29:41 -0000
@@ -1,25 +1,25 @@
 Index: deps/v8/include/v8config.h
 --- deps/v8/include/v8config.h.orig
 +++ deps/v8/include/v8config.h
-@@ -183,6 +183,8 @@ path. Add it with -I<path> to the command line
+@@ -184,6 +184,8 @@ path. Add it with -I<path> to the command line
    && !defined(V8_TARGET_OS_FUCHSIA) \
    && !defined(V8_TARGET_OS_IOS) \
    && !defined(V8_TARGET_OS_LINUX) \
 +  && !defined(V8_TARGET_OS_OPENBSD) \
 +  && !defined(V8_TARGET_OS_FREEBSD) \
    && !defined(V8_TARGET_OS_MACOS) \
-   && !defined(V8_TARGET_OS_WIN)
- #  error No known target OS defined.
-@@ -194,6 +196,8 @@ path. Add it with -I<path> to the command line
+   && !defined(V8_TARGET_OS_WIN) \
+   && !defined(V8_TARGET_OS_CHROMEOS)
+@@ -196,6 +198,8 @@ path. Add it with -I<path> to the command line
    || defined(V8_TARGET_OS_FUCHSIA) \
    || defined(V8_TARGET_OS_IOS) \
    || defined(V8_TARGET_OS_LINUX) \
 +  || defined(V8_TARGET_OS_OPENBSD) \
 +  || defined(V8_TARGET_OS_FREEBSD) \
    || defined(V8_TARGET_OS_MACOS) \
-   || defined(V8_TARGET_OS_WIN)
- #  error A target OS is defined but V8_HAVE_TARGET_OS is unset.
-@@ -214,6 +218,16 @@ path. Add it with -I<path> to the command line
+   || defined(V8_TARGET_OS_WIN) \
+   || defined(V8_TARGET_OS_CHROMEOS)
+@@ -217,6 +221,16 @@ path. Add it with -I<path> to the command line
  
  #ifdef V8_OS_LINUX
  # define V8_TARGET_OS_LINUX
Index: patches/patch-deps_v8_src_api_api_cc
===================================================================
RCS file: /cvs/ports/lang/node/patches/patch-deps_v8_src_api_api_cc,v
diff -u -p -r1.3 patch-deps_v8_src_api_api_cc
--- patches/patch-deps_v8_src_api_api_cc	29 Dec 2022 23:34:13 -0000	1.3
+++ patches/patch-deps_v8_src_api_api_cc	14 May 2024 17:29:41 -0000
@@ -1,16 +1,16 @@
 Index: deps/v8/src/api/api.cc
 --- deps/v8/src/api/api.cc.orig
 +++ deps/v8/src/api/api.cc
-@@ -138,7 +138,7 @@
+@@ -142,7 +142,7 @@
  #include "src/wasm/wasm-serialization.h"
  #endif  // V8_ENABLE_WEBASSEMBLY
  
 -#if V8_OS_LINUX || V8_OS_DARWIN || V8_OS_FREEBSD
 +#if V8_OS_LINUX || V8_OS_DARWIN || V8_OS_FREEBSD || V8_OS_OPENBSD
  #include <signal.h>
- #include "include/v8-wasm-trap-handler-posix.h"
- #include "src/trap-handler/handler-inside-posix.h"
-@@ -6077,7 +6077,7 @@ bool v8::V8::Initialize(const int build_config) {
+ #include <unistd.h>
+ 
+@@ -6454,7 +6454,7 @@ bool v8::V8::Initialize(const int build_config) {
    return true;
  }
  
Index: patches/patch-deps_v8_src_base_atomicops_h
===================================================================
RCS file: /cvs/ports/lang/node/patches/patch-deps_v8_src_base_atomicops_h,v
diff -u -p -r1.6 patch-deps_v8_src_base_atomicops_h
--- patches/patch-deps_v8_src_base_atomicops_h	4 Jan 2023 17:06:33 -0000	1.6
+++ patches/patch-deps_v8_src_base_atomicops_h	14 May 2024 17:29:41 -0000
@@ -14,7 +14,7 @@ Index: deps/v8/src/base/atomicops.h
  using Atomic64 = int64_t;
  #else
  using Atomic64 = intptr_t;
-@@ -257,7 +257,7 @@ inline Atomic32 SeqCst_Load(volatile const Atomic32* p
+@@ -258,7 +258,7 @@ inline Atomic32 SeqCst_Load(volatile const Atomic32* p
                                     std::memory_order_seq_cst);
  }
  
@@ -23,12 +23,3 @@ Index: deps/v8/src/base/atomicops.h
  
  inline Atomic64 Relaxed_CompareAndSwap(volatile Atomic64* ptr,
                                         Atomic64 old_value, Atomic64 new_value) {
-@@ -468,7 +468,7 @@ inline int Relaxed_Memcmp(volatile const Atomic8* s1,
- 
- // On some platforms we need additional declarations to make
- // AtomicWord compatible with our other Atomic* types.
--#if defined(V8_OS_DARWIN) || defined(V8_OS_OPENBSD) || defined(V8_OS_AIX)
-+#if defined(V8_OS_DARWIN) || defined(V8_OS_AIX)
- #include "src/base/atomicops_internals_atomicword_compat.h"
- #endif
- 
Index: patches/patch-deps_v8_src_base_bit-field_h
===================================================================
RCS file: patches/patch-deps_v8_src_base_bit-field_h
diff -N patches/patch-deps_v8_src_base_bit-field_h
--- patches/patch-deps_v8_src_base_bit-field_h	7 Dec 2023 17:01:27 -0000	1.2
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,18 +0,0 @@
-
-Workaround for clang 16.  known to not workaround in clang 17.
-
-Index: deps/v8/src/base/bit-field.h
---- deps/v8/src/base/bit-field.h.orig
-+++ deps/v8/src/base/bit-field.h
-@@ -39,8 +39,11 @@ class BitField final {
-   static constexpr int kLastUsedBit = kShift + kSize - 1;
-   static constexpr U kNumValues = U{1} << kSize;
- 
-+  #pragma clang diagnostic push
-+  #pragma clang diagnostic ignored "-Wenum-constexpr-conversion"
-   // Value for the field with all bits set.
-   static constexpr T kMax = static_cast<T>(kNumValues - 1);
-+  #pragma clang diagnostic pop
- 
-   template <class T2, int size2>
-   using Next = BitField<T2, kShift + kSize, size2, U>;
Index: patches/patch-deps_v8_src_base_cpu_cc
===================================================================
RCS file: /cvs/ports/lang/node/patches/patch-deps_v8_src_base_cpu_cc,v
diff -u -p -r1.5 patch-deps_v8_src_base_cpu_cc
--- patches/patch-deps_v8_src_base_cpu_cc	29 Dec 2022 23:34:13 -0000	1.5
+++ patches/patch-deps_v8_src_base_cpu_cc	14 May 2024 17:29:41 -0000
@@ -4,7 +4,7 @@ OpenBSD/riscv64 always uses floating-poi
 Index: deps/v8/src/base/cpu.cc
 --- deps/v8/src/base/cpu.cc.orig
 +++ deps/v8/src/base/cpu.cc
-@@ -871,6 +871,8 @@ CPU::CPU()
+@@ -868,6 +868,8 @@ CPU::CPU()
  #endif  // !USE_SIMULATOR
  
  #elif V8_HOST_ARCH_RISCV64
@@ -13,7 +13,7 @@ Index: deps/v8/src/base/cpu.cc
    CPUInfo cpu_info;
    char* features = cpu_info.ExtractField("isa");
  
-@@ -881,6 +883,14 @@ CPU::CPU()
+@@ -878,6 +880,14 @@ CPU::CPU()
      has_fpu_ = true;
      has_rvv_ = true;
    }
Index: patches/patch-deps_v8_src_base_platform-openbsd_cc
===================================================================
RCS file: /cvs/ports/lang/node/patches/patch-deps_v8_src_base_platform-openbsd_cc,v
diff -u -p -r1.3 patch-deps_v8_src_base_platform-openbsd_cc
--- patches/patch-deps_v8_src_base_platform-openbsd_cc	29 Dec 2022 23:34:13 -0000	1.3
+++ patches/patch-deps_v8_src_base_platform-openbsd_cc	14 May 2024 17:29:41 -0000
@@ -15,7 +15,7 @@ Index: deps/v8/src/base/platform/platfor
  void OS::AdjustSchedulingParams() {}
 +
 +// static
-+Stack::StackSlot Stack::GetStackStart() {
++Stack::StackSlot Stack::ObtainCurrentThreadStackStart() {
 +  stack_t ss;
 +  void *base;
 +  if (pthread_stackseg_np(pthread_self(), &ss) != 0)
Index: patches/patch-deps_v8_src_base_platform-posix_cc
===================================================================
RCS file: /cvs/ports/lang/node/patches/patch-deps_v8_src_base_platform-posix_cc,v
diff -u -p -r1.4 patch-deps_v8_src_base_platform-posix_cc
--- patches/patch-deps_v8_src_base_platform-posix_cc	7 Dec 2023 17:01:27 -0000	1.4
+++ patches/patch-deps_v8_src_base_platform-posix_cc	14 May 2024 17:29:41 -0000
@@ -1,7 +1,16 @@
 Index: deps/v8/src/base/platform/platform-posix.cc
 --- deps/v8/src/base/platform/platform-posix.cc.orig
 +++ deps/v8/src/base/platform/platform-posix.cc
-@@ -68,7 +68,7 @@
+@@ -53,7 +53,7 @@
+ #if V8_OS_DARWIN
+ #include <mach/mach.h>
+ #include <malloc/malloc.h>
+-#else
++#elif !V8_OS_BSD
+ #include <malloc.h>
+ #endif
+ 
+@@ -71,7 +71,7 @@
  #include <sys/syscall.h>
  #endif
  
@@ -10,7 +19,7 @@ Index: deps/v8/src/base/platform/platfor
  #define MAP_ANONYMOUS MAP_ANON
  #endif
  
-@@ -300,8 +300,15 @@ void OS::SetRandomMmapSeed(int64_t seed) {
+@@ -303,8 +303,15 @@ void OS::SetRandomMmapSeed(int64_t seed) {
    }
  }
  
@@ -26,7 +35,7 @@ Index: deps/v8/src/base/platform/platfor
    uintptr_t raw_addr;
    {
      MutexGuard guard(rng_mutex.Pointer());
-@@ -392,6 +399,7 @@ void* OS::GetRandomMmapAddr() {
+@@ -399,6 +406,7 @@ void* OS::GetRandomMmapAddr() {
  #endif
    return reinterpret_cast<void*>(raw_addr);
  }
@@ -34,7 +43,7 @@ Index: deps/v8/src/base/platform/platfor
  
  // TODO(bbudge) Move Cygwin and Fuchsia stuff into platform-specific files.
  #if !V8_OS_CYGWIN && !V8_OS_FUCHSIA
-@@ -600,7 +608,7 @@ void OS::DestroySharedMemoryHandle(PlatformSharedMemor
+@@ -667,7 +675,7 @@ void OS::DestroySharedMemoryHandle(PlatformSharedMemor
  
  // static
  bool OS::HasLazyCommits() {
@@ -43,7 +52,7 @@ Index: deps/v8/src/base/platform/platfor
    return true;
  #else
    // TODO(bbudge) Return true for all POSIX platforms.
-@@ -1219,7 +1227,7 @@ void Thread::SetThreadLocal(LocalStorageKey key, void*
+@@ -1244,7 +1252,7 @@ void Thread::SetThreadLocal(LocalStorageKey key, void*
  // keep this version in POSIX as most Linux-compatible derivatives will
  // support it. MacOS and FreeBSD are different here.
  #if !defined(V8_OS_FREEBSD) && !defined(V8_OS_DARWIN) && !defined(_AIX) && \
@@ -51,4 +60,4 @@ Index: deps/v8/src/base/platform/platfor
 +    !defined(V8_OS_SOLARIS) && !defined(V8_OS_OPENBSD)
  
  // static
- Stack::StackSlot Stack::GetStackStart() {
+ Stack::StackSlot Stack::ObtainCurrentThreadStackStart() {
Index: patches/patch-deps_v8_src_base_platform_memory_h
===================================================================
RCS file: patches/patch-deps_v8_src_base_platform_memory_h
diff -N patches/patch-deps_v8_src_base_platform_memory_h
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ patches/patch-deps_v8_src_base_platform_memory_h	14 May 2024 17:29:41 -0000
@@ -0,0 +1,17 @@
+Index: deps/v8/src/base/platform/memory.h
+--- deps/v8/src/base/platform/memory.h.orig
++++ deps/v8/src/base/platform/memory.h
+@@ -19,11 +19,11 @@
+ 
+ #if V8_OS_DARWIN
+ #include <malloc/malloc.h>
+-#else  // !V8_OS_DARWIN
++#elif !V8_OS_BSD
+ #include <malloc.h>
+ #endif  // !V8_OS_DARWIN
+ 
+-#if (V8_OS_POSIX && !V8_OS_AIX && !V8_OS_SOLARIS) || V8_OS_WIN
++#if (V8_OS_POSIX && !V8_OS_AIX && !V8_OS_SOLARIS && !V8_OS_BSD) || V8_OS_WIN
+ #define V8_HAS_MALLOC_USABLE_SIZE 1
+ #endif  // (V8_OS_POSIX && !V8_OS_AIX && !V8_OS_SOLARIS) || V8_OS_WIN
+ 
Index: patches/patch-deps_v8_src_baseline_x64_baseline-assembler-x64-inl_h
===================================================================
RCS file: /cvs/ports/lang/node/patches/patch-deps_v8_src_baseline_x64_baseline-assembler-x64-inl_h,v
diff -u -p -r1.1 patch-deps_v8_src_baseline_x64_baseline-assembler-x64-inl_h
--- patches/patch-deps_v8_src_baseline_x64_baseline-assembler-x64-inl_h	7 Jul 2023 10:44:15 -0000	1.1
+++ patches/patch-deps_v8_src_baseline_x64_baseline-assembler-x64-inl_h	14 May 2024 17:29:41 -0000
@@ -1,9 +1,9 @@
 Index: deps/v8/src/baseline/x64/baseline-assembler-x64-inl.h
 --- deps/v8/src/baseline/x64/baseline-assembler-x64-inl.h.orig
 +++ deps/v8/src/baseline/x64/baseline-assembler-x64-inl.h
-@@ -98,9 +98,7 @@ MemOperand BaselineAssembler::FeedbackVectorOperand() 
+@@ -73,9 +73,7 @@ MemOperand BaselineAssembler::FeedbackVectorOperand() 
+ 
  void BaselineAssembler::Bind(Label* label) { __ bind(label); }
- void BaselineAssembler::BindWithoutJumpTarget(Label* label) { __ bind(label); }
  
 -void BaselineAssembler::JumpTarget() {
 -  // NOP on x64.
Index: patches/patch-deps_v8_src_builtins_x64_builtins-x64_cc
===================================================================
RCS file: /cvs/ports/lang/node/patches/patch-deps_v8_src_builtins_x64_builtins-x64_cc,v
diff -u -p -r1.1 patch-deps_v8_src_builtins_x64_builtins-x64_cc
--- patches/patch-deps_v8_src_builtins_x64_builtins-x64_cc	7 Jul 2023 10:44:15 -0000	1.1
+++ patches/patch-deps_v8_src_builtins_x64_builtins-x64_cc	14 May 2024 17:29:41 -0000
@@ -1,7 +1,7 @@
 Index: deps/v8/src/builtins/x64/builtins-x64.cc
 --- deps/v8/src/builtins/x64/builtins-x64.cc.orig
 +++ deps/v8/src/builtins/x64/builtins-x64.cc
-@@ -42,6 +42,8 @@ namespace internal {
+@@ -43,6 +43,8 @@ namespace internal {
  #define __ ACCESS_MASM(masm)
  
  void Builtins::Generate_Adaptor(MacroAssembler* masm, Address address) {
@@ -10,7 +10,7 @@ Index: deps/v8/src/builtins/x64/builtins
    __ LoadAddress(kJavaScriptCallExtraArg1Register,
                   ExternalReference::Create(address));
    __ Jump(BUILTIN_CODE(masm->isolate(), AdaptorWithBuiltinExitFrame),
-@@ -456,7 +458,7 @@ void Generate_JSEntryVariant(MacroAssembler* masm, Sta
+@@ -457,7 +459,7 @@ void Generate_JSEntryVariant(MacroAssembler* masm, Sta
    // Jump to a faked try block that does the invoke, with a faked catch
    // block that sets the pending exception.
    __ jmp(&invoke);
@@ -19,8 +19,8 @@ Index: deps/v8/src/builtins/x64/builtins
  
    // Store the current pc as the handler offset. It's used later to create the
    // handler table.
-@@ -3716,6 +3718,8 @@ void GenericJSToWasmWrapperHelper(MacroAssembler* masm
-     RestoreParentSuspender(masm);
+@@ -3798,6 +3800,8 @@ void GenericJSToWasmWrapperHelper(MacroAssembler* masm
+     RestoreParentSuspender(masm, rbx, rcx);
    }
    __ bind(&suspend);
 +
@@ -28,7 +28,7 @@ Index: deps/v8/src/builtins/x64/builtins
    // No need to process the return value if the stack is suspended, there is a
    // single 'externref' value (the promise) which doesn't require conversion.
  
-@@ -4068,6 +4072,7 @@ void Builtins::Generate_WasmSuspend(MacroAssembler* ma
+@@ -4146,6 +4150,7 @@ void Builtins::Generate_WasmSuspend(MacroAssembler* ma
    LoadJumpBuffer(masm, jmpbuf, true);
    __ Trap();
    __ bind(&resume);
@@ -36,11 +36,11 @@ Index: deps/v8/src/builtins/x64/builtins
    __ LeaveFrame(StackFrame::STACK_SWITCH);
    __ ret(0);
  }
-@@ -4191,6 +4196,7 @@ void Builtins::Generate_WasmResume(MacroAssembler* mas
-   LoadJumpBuffer(masm, target_jmpbuf, true);
+@@ -4289,6 +4294,7 @@ void Generate_WasmResumeHelper(MacroAssembler* masm, w
+   }
    __ Trap();
    __ bind(&suspend);
 +  __ endbr64();
    __ LeaveFrame(StackFrame::STACK_SWITCH);
-   __ ret(3);
- }
+   // Pop receiver + parameter.
+   __ ret(2 * kSystemPointerSize);
Index: patches/patch-deps_v8_src_codegen_riscv64_assembler-riscv64_cc
===================================================================
RCS file: patches/patch-deps_v8_src_codegen_riscv64_assembler-riscv64_cc
diff -N patches/patch-deps_v8_src_codegen_riscv64_assembler-riscv64_cc
--- patches/patch-deps_v8_src_codegen_riscv64_assembler-riscv64_cc	29 Dec 2022 23:34:13 -0000	1.2
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,17 +0,0 @@
-Use static_cast instead of a potentially dangerous reinterpret_cast.
-Doesn't matter since this file only supports riscv64 where unsigned long and
-unsigned long long are actually the same size.
-../deps/v8/src/codegen/riscv64/assembler-riscv64.cc:403:22: error: reinterpret_cast from 'v8::internal::Address' (aka 'unsigned long') to 'uint64_t' (aka 'unsigned long long') is not allowed
-
-Index: deps/v8/src/codegen/riscv64/assembler-riscv64.cc
---- deps/v8/src/codegen/riscv64/assembler-riscv64.cc.orig
-+++ deps/v8/src/codegen/riscv64/assembler-riscv64.cc
-@@ -406,7 +406,7 @@ int Assembler::target_at(int pos, bool is_internal) {
-       Address pc = reinterpret_cast<Address>(buffer_start_ + pos);
-       pc = target_address_at(pc);
-       uint64_t instr_address = reinterpret_cast<uint64_t>(buffer_start_ + pos);
--      uint64_t imm = reinterpret_cast<uint64_t>(pc);
-+      uint64_t imm = static_cast<uint64_t>(pc);
-       if (imm == kEndOfJumpChain) {
-         return kEndOfChain;
-       } else {
Index: patches/patch-deps_v8_src_codegen_riscv64_cpu-riscv64_cc
===================================================================
RCS file: patches/patch-deps_v8_src_codegen_riscv64_cpu-riscv64_cc
diff -N patches/patch-deps_v8_src_codegen_riscv64_cpu-riscv64_cc
--- patches/patch-deps_v8_src_codegen_riscv64_cpu-riscv64_cc	1 Sep 2022 19:23:04 -0000	1.1
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,39 +0,0 @@
-Implement instruction cache flush using sysarch(RISCV_SYNC_ICACHE).
-
-Index: deps/v8/src/codegen/riscv64/cpu-riscv64.cc
---- deps/v8/src/codegen/riscv64/cpu-riscv64.cc.orig
-+++ deps/v8/src/codegen/riscv64/cpu-riscv64.cc
-@@ -4,7 +4,13 @@
- 
- // CPU specific code for arm independent of OS goes here.
- 
--#include <sys/syscall.h>
-+#ifdef __OpenBSD__
-+# include <sys/types.h>
-+# include <machine/sysarch.h>
-+#else
-+# include <sys/syscall.h>
-+#endif
-+
- #include <unistd.h>
- 
- #if V8_TARGET_ARCH_RISCV64
-@@ -16,6 +22,10 @@ namespace internal {
- 
- void CpuFeatures::FlushICache(void* start, size_t size) {
- #if !defined(USE_SIMULATOR)
-+# ifdef __OpenBSD__
-+	struct riscv_sync_icache_args args = { (u_int64_t)(uintptr_t)start, size };
-+	sysarch(RISCV_SYNC_ICACHE, &args);
-+# else
-   char* end = reinterpret_cast<char*>(start) + size;
-   // The definition of this syscall is
-   // SYSCALL_DEFINE3(riscv_flush_icache, uintptr_t, start,
-@@ -23,6 +33,7 @@ void CpuFeatures::FlushICache(void* start, size_t size
-   // The flag here is set to be SYS_RISCV_FLUSH_ICACHE_LOCAL, which is
-   // defined as 1 in the Linux kernel.
-   syscall(SYS_riscv_flush_icache, start, end, 1);
-+# endif // !__OpenBSD__
- #endif  // !USE_SIMULATOR.
- }
- 
Index: patches/patch-deps_v8_src_codegen_riscv64_macro-assembler-riscv64_cc
===================================================================
RCS file: patches/patch-deps_v8_src_codegen_riscv64_macro-assembler-riscv64_cc
diff -N patches/patch-deps_v8_src_codegen_riscv64_macro-assembler-riscv64_cc
--- patches/patch-deps_v8_src_codegen_riscv64_macro-assembler-riscv64_cc	29 Dec 2022 23:34:13 -0000	1.2
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,14 +0,0 @@
-Force picking up the correct RecordEntry function.
-
-Index: deps/v8/src/codegen/riscv64/macro-assembler-riscv64.cc
---- deps/v8/src/codegen/riscv64/macro-assembler-riscv64.cc.orig
-+++ deps/v8/src/codegen/riscv64/macro-assembler-riscv64.cc
-@@ -4182,7 +4182,7 @@ void MacroAssembler::JumpToOffHeapInstructionStream(Ad
-   if (!FLAG_riscv_constant_pool) {
-     li(kOffHeapTrampolineRegister, Operand(entry, RelocInfo::OFF_HEAP_TARGET));
-   } else {
--    RecordEntry(entry, RelocInfo::OFF_HEAP_TARGET);
-+    RecordEntry(static_cast<uint64_t>(entry), RelocInfo::OFF_HEAP_TARGET);
-     RecordRelocInfo(RelocInfo::OFF_HEAP_TARGET, entry);
-     auipc(kOffHeapTrampolineRegister, 0);
-     ld(kOffHeapTrampolineRegister, kOffHeapTrampolineRegister, 0);
Index: patches/patch-deps_v8_src_codegen_riscv_assembler-riscv_cc
===================================================================
RCS file: patches/patch-deps_v8_src_codegen_riscv_assembler-riscv_cc
diff -N patches/patch-deps_v8_src_codegen_riscv_assembler-riscv_cc
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ patches/patch-deps_v8_src_codegen_riscv_assembler-riscv_cc	14 May 2024 17:29:41 -0000
@@ -0,0 +1,103 @@
+1st hunk:
+Use static_cast instead of a potentially dangerous reinterpret_cast.
+Doesn't matter since this file only supports riscv64 where unsigned long and
+unsigned long long are actually the same size.
+../deps/v8/src/codegen/riscv64/assembler-riscv64.cc:403:22: error: reinterpret_cast from 'v8::internal::Address' (aka 'unsigned long') to 'uint64_t' (aka 'unsigned long long') is not allowed
+
+Other hunks:
+Fix build errors due to type mismatch between intptr_t (long) and int64_t
+(long long).
+
+Index: deps/v8/src/codegen/riscv/assembler-riscv.cc
+--- deps/v8/src/codegen/riscv/assembler-riscv.cc.orig
++++ deps/v8/src/codegen/riscv/assembler-riscv.cc
+@@ -344,7 +344,7 @@ int Assembler::target_at(int pos, bool is_internal) {
+       pc = target_address_at(pc);
+       uintptr_t instr_address =
+           reinterpret_cast<uintptr_t>(buffer_start_ + pos);
+-      uintptr_t imm = reinterpret_cast<uintptr_t>(pc);
++      uintptr_t imm = static_cast<uintptr_t>(pc);
+       if (imm == kEndOfJumpChain) {
+         return kEndOfChain;
+       } else {
+@@ -891,7 +891,7 @@ inline int64_t signExtend(uint64_t V, int N) {
+ }
+ 
+ #if V8_TARGET_ARCH_RISCV64
+-void Assembler::RV_li(Register rd, int64_t imm) {
++void Assembler::RV_li(Register rd, intptr_t imm) {
+   UseScratchRegisterScope temps(this);
+   if (RecursiveLiCount(imm) > GeneralLiCount(imm, temps.hasAvailable())) {
+     GeneralLi(rd, imm);
+@@ -1060,7 +1060,7 @@ void Assembler::GeneralLi(Register rd, int64_t imm) {
+   }
+ }
+ 
+-void Assembler::li_ptr(Register rd, int64_t imm) {
++void Assembler::li_ptr(Register rd, intptr_t imm) {
+   // Initialize rd with an address
+   // Pointers are 48 bits
+   // 6 fixed instructions are generated
+@@ -1078,7 +1078,7 @@ void Assembler::li_ptr(Register rd, int64_t imm) {
+   ori(rd, rd, a6);       // 6 bits are put in. 48 bis in rd
+ }
+ 
+-void Assembler::li_constant(Register rd, int64_t imm) {
++void Assembler::li_constant(Register rd, intptr_t imm) {
+   DEBUG_PRINTF("\tli_constant(%d, %lx <%ld>)\n", ToNumber(rd), imm, imm);
+   lui(rd, (imm + (1LL << 47) + (1LL << 35) + (1LL << 23) + (1LL << 11)) >>
+               48);  // Bits 63:48
+@@ -1527,7 +1527,7 @@ Address Assembler::target_address_at(Address pc) {
+ //
+ // Patching the address must replace all instructions, and flush the i-cache.
+ // Note that this assumes the use of SV48, the 48-bit virtual memory system.
+-void Assembler::set_target_value_at(Address pc, uint64_t target,
++void Assembler::set_target_value_at(Address pc, uintptr_t target,
+                                     ICacheFlushMode icache_flush_mode) {
+   DEBUG_PRINTF("set_target_value_at: pc: %lx\ttarget: %lx\n", pc, target);
+   uint32_t* p = reinterpret_cast<uint32_t*>(pc);
+@@ -1820,7 +1820,7 @@ const size_t ConstantPool::kApproxMaxEntryCount = 512;
+ //  SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+ //
+ //===----------------------------------------------------------------------===//
+-void Assembler::RecursiveLi(Register rd, int64_t val) {
++void Assembler::RecursiveLi(Register rd, intptr_t val) {
+   if (val > 0 && RecursiveLiImplCount(val) > 2) {
+     unsigned LeadingZeros = base::bits::CountLeadingZeros((uint64_t)val);
+     uint64_t ShiftedVal = (uint64_t)val << LeadingZeros;
+@@ -1834,7 +1834,7 @@ void Assembler::RecursiveLi(Register rd, int64_t val) 
+   RecursiveLiImpl(rd, val);
+ }
+ 
+-int Assembler::RecursiveLiCount(int64_t val) {
++int Assembler::RecursiveLiCount(intptr_t val) {
+   if (val > 0 && RecursiveLiImplCount(val) > 2) {
+     unsigned LeadingZeros = base::bits::CountLeadingZeros((uint64_t)val);
+     uint64_t ShiftedVal = (uint64_t)val << LeadingZeros;
+@@ -1849,7 +1849,7 @@ int Assembler::RecursiveLiCount(int64_t val) {
+   return RecursiveLiImplCount(val);
+ }
+ 
+-void Assembler::RecursiveLiImpl(Register rd, int64_t Val) {
++void Assembler::RecursiveLiImpl(Register rd, intptr_t Val) {
+   if (is_int32(Val)) {
+     // Depending on the active bits in the immediate Value v, the following
+     // instruction sequences are emitted:
+@@ -1926,7 +1926,7 @@ void Assembler::RecursiveLiImpl(Register rd, int64_t V
+   }
+ }
+ 
+-int Assembler::RecursiveLiImplCount(int64_t Val) {
++int Assembler::RecursiveLiImplCount(intptr_t Val) {
+   int count = 0;
+   if (is_int32(Val)) {
+     // Depending on the active bits in the immediate Value v, the following
+@@ -2007,7 +2007,7 @@ int Assembler::RecursiveLiImplCount(int64_t Val) {
+   return count;
+ }
+ 
+-int Assembler::GeneralLiCount(int64_t imm, bool is_get_temp_reg) {
++int Assembler::GeneralLiCount(intptr_t imm, bool is_get_temp_reg) {
+   int count = 0;
+   // imitate Assembler::RV_li
+   if (is_int32(imm + 0x800)) {
Index: patches/patch-deps_v8_src_codegen_riscv_cpu-riscv_cc
===================================================================
RCS file: patches/patch-deps_v8_src_codegen_riscv_cpu-riscv_cc
diff -N patches/patch-deps_v8_src_codegen_riscv_cpu-riscv_cc
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ patches/patch-deps_v8_src_codegen_riscv_cpu-riscv_cc	14 May 2024 17:29:41 -0000
@@ -0,0 +1,39 @@
+Implement instruction cache flush using sysarch(RISCV_SYNC_ICACHE).
+
+Index: deps/v8/src/codegen/riscv/cpu-riscv.cc
+--- deps/v8/src/codegen/riscv/cpu-riscv.cc.orig
++++ deps/v8/src/codegen/riscv/cpu-riscv.cc
+@@ -4,7 +4,13 @@
+ 
+ // CPU specific code for arm independent of OS goes here.
+ 
+-#include <sys/syscall.h>
++#ifdef __OpenBSD__
++# include <sys/types.h>
++# include <machine/sysarch.h>
++#else
++# include <sys/syscall.h>
++#endif
++
+ #include <unistd.h>
+ 
+ #include "src/codegen/cpu-features.h"
+@@ -14,6 +20,10 @@ namespace internal {
+ 
+ void CpuFeatures::FlushICache(void* start, size_t size) {
+ #if !defined(USE_SIMULATOR)
++# ifdef __OpenBSD__
++	struct riscv_sync_icache_args args = { (u_int64_t)(uintptr_t)start, size };
++	sysarch(RISCV_SYNC_ICACHE, &args);
++# else
+   char* end = reinterpret_cast<char*>(start) + size;
+   // The definition of this syscall is
+   // SYSCALL_DEFINE3(riscv_flush_icache, uintptr_t, start,
+@@ -21,6 +31,7 @@ void CpuFeatures::FlushICache(void* start, size_t size
+   // The flag here is set to be SYS_RISCV_FLUSH_ICACHE_LOCAL, which is
+   // defined as 1 in the Linux kernel.
+   syscall(SYS_riscv_flush_icache, start, end, 1);
++# endif // !__OpenBSD__
+ #endif  // !USE_SIMULATOR.
+ }
+ 
Index: patches/patch-deps_v8_src_codegen_riscv_macro-assembler-riscv_cc
===================================================================
RCS file: patches/patch-deps_v8_src_codegen_riscv_macro-assembler-riscv_cc
diff -N patches/patch-deps_v8_src_codegen_riscv_macro-assembler-riscv_cc
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ patches/patch-deps_v8_src_codegen_riscv_macro-assembler-riscv_cc	14 May 2024 17:29:41 -0000
@@ -0,0 +1,12 @@
+Index: deps/v8/src/codegen/riscv/macro-assembler-riscv.cc
+--- deps/v8/src/codegen/riscv/macro-assembler-riscv.cc.orig
++++ deps/v8/src/codegen/riscv/macro-assembler-riscv.cc
+@@ -2149,7 +2149,7 @@ void MacroAssembler::li(Register rd, Operand j, LiFlag
+     int reverse_count = RV_li_count(~j.immediate(), temps.hasAvailable());
+     if (v8_flags.riscv_constant_pool && count >= 4 && reverse_count >= 4) {
+       // Ld/Lw a Address from a constant pool.
+-      RecordEntry((uintptr_t)j.immediate(), j.rmode());
++      RecordEntry((uint64_t)j.immediate(), j.rmode());
+       auipc(rd, 0);
+       // Record a value into constant pool.
+       LoadWord(rd, MemOperand(rd, 0));
Index: patches/patch-deps_v8_src_codegen_x64_assembler-x64_cc
===================================================================
RCS file: /cvs/ports/lang/node/patches/patch-deps_v8_src_codegen_x64_assembler-x64_cc,v
diff -u -p -r1.1 patch-deps_v8_src_codegen_x64_assembler-x64_cc
--- patches/patch-deps_v8_src_codegen_x64_assembler-x64_cc	7 Jul 2023 10:44:15 -0000	1.1
+++ patches/patch-deps_v8_src_codegen_x64_assembler-x64_cc	14 May 2024 17:29:41 -0000
@@ -1,7 +1,7 @@
 Index: deps/v8/src/codegen/x64/assembler-x64.cc
 --- deps/v8/src/codegen/x64/assembler-x64.cc.orig
 +++ deps/v8/src/codegen/x64/assembler-x64.cc
-@@ -1266,6 +1266,14 @@ void Assembler::hlt() {
+@@ -1268,6 +1268,14 @@ void Assembler::hlt() {
    emit(0xF4);
  }
  
@@ -16,7 +16,7 @@ Index: deps/v8/src/codegen/x64/assembler
  void Assembler::emit_idiv(Register src, int size) {
    EnsureSpace ensure_space(this);
    emit_rex(src, size);
-@@ -1545,16 +1553,22 @@ void Assembler::jmp(Handle<CodeT> target, RelocInfo::M
+@@ -1527,16 +1535,22 @@ void Assembler::jmp(Handle<Code> target, RelocInfo::Mo
    emitl(code_target_index);
  }
  
Index: patches/patch-deps_v8_src_codegen_x64_assembler-x64_h
===================================================================
RCS file: /cvs/ports/lang/node/patches/patch-deps_v8_src_codegen_x64_assembler-x64_h,v
diff -u -p -r1.1 patch-deps_v8_src_codegen_x64_assembler-x64_h
--- patches/patch-deps_v8_src_codegen_x64_assembler-x64_h	7 Jul 2023 10:44:15 -0000	1.1
+++ patches/patch-deps_v8_src_codegen_x64_assembler-x64_h	14 May 2024 17:29:41 -0000
@@ -1,7 +1,7 @@
 Index: deps/v8/src/codegen/x64/assembler-x64.h
 --- deps/v8/src/codegen/x64/assembler-x64.h.orig
 +++ deps/v8/src/codegen/x64/assembler-x64.h
-@@ -770,6 +770,7 @@ class V8_EXPORT_PRIVATE Assembler : public AssemblerBa
+@@ -856,6 +856,7 @@ class V8_EXPORT_PRIVATE Assembler : public AssemblerBa
    void ret(int imm16);
    void ud2();
    void setcc(Condition cc, Register reg);
@@ -9,8 +9,8 @@ Index: deps/v8/src/codegen/x64/assembler
  
    void pblendw(XMMRegister dst, Operand src, uint8_t mask);
    void pblendw(XMMRegister dst, XMMRegister src, uint8_t mask);
-@@ -819,8 +820,8 @@ class V8_EXPORT_PRIVATE Assembler : public AssemblerBa
-   void jmp(Address entry, RelocInfo::Mode rmode);
+@@ -904,8 +905,8 @@ class V8_EXPORT_PRIVATE Assembler : public AssemblerBa
+   void jmp(Handle<Code> target, RelocInfo::Mode rmode);
  
    // Jump near absolute indirect (r64)
 -  void jmp(Register adr);
Index: patches/patch-deps_v8_src_codegen_x64_macro-assembler-x64_cc
===================================================================
RCS file: /cvs/ports/lang/node/patches/patch-deps_v8_src_codegen_x64_macro-assembler-x64_cc,v
diff -u -p -r1.1 patch-deps_v8_src_codegen_x64_macro-assembler-x64_cc
--- patches/patch-deps_v8_src_codegen_x64_macro-assembler-x64_cc	7 Jul 2023 10:44:15 -0000	1.1
+++ patches/patch-deps_v8_src_codegen_x64_macro-assembler-x64_cc	14 May 2024 17:29:41 -0000
@@ -1,21 +1,21 @@
 Index: deps/v8/src/codegen/x64/macro-assembler-x64.cc
 --- deps/v8/src/codegen/x64/macro-assembler-x64.cc.orig
 +++ deps/v8/src/codegen/x64/macro-assembler-x64.cc
-@@ -46,6 +46,8 @@ Operand StackArgumentsAccessor::GetArgumentOperand(int
+@@ -49,6 +49,8 @@ Operand StackArgumentsAccessor::GetArgumentOperand(int
    return Operand(rsp, kPCOnStackSize + index * kSystemPointerSize);
  }
  
-+void TurboAssembler::CodeEntry() { endbr64(); }
++void MacroAssembler::CodeEntry() { endbr64(); }
 +
  void MacroAssembler::Load(Register destination, ExternalReference source) {
    if (root_array_available_ && options().enable_root_relative_access) {
      intptr_t delta = RootRegisterOffsetForExternalReference(isolate(), source);
-@@ -433,7 +435,7 @@ void TurboAssembler::LoadExternalPointerField(
-   }
-   movl(destination, field_operand);
-   shrq(destination, Immediate(kExternalPointerIndexShift));
--  movq(destination, Operand(scratch, destination, times_8, 0));
-+  movq(destination, Operand(scratch, destination, times_8, 0), /*notrack=*/true);
-   movq(scratch, Immediate64(~tag));
-   andq(destination, scratch);
- #else
+@@ -1701,7 +1703,7 @@ void MacroAssembler::Switch(Register scratch, Register
+   cmpq(reg, Immediate(num_labels));
+   j(above_equal, &fallthrough);
+   leaq(table, MemOperand(&jump_table));
+-  jmp(MemOperand(table, reg, times_8, 0));
++  jmp(MemOperand(table, reg, times_8, 0), /*notrack=*/true);
+   // Emit the jump table inline, under the assumption that it's not too big.
+   Align(kSystemPointerSize);
+   bind(&jump_table);
Index: patches/patch-deps_v8_src_codegen_x64_macro-assembler-x64_h
===================================================================
RCS file: /cvs/ports/lang/node/patches/patch-deps_v8_src_codegen_x64_macro-assembler-x64_h,v
diff -u -p -r1.1 patch-deps_v8_src_codegen_x64_macro-assembler-x64_h
--- patches/patch-deps_v8_src_codegen_x64_macro-assembler-x64_h	7 Jul 2023 10:44:15 -0000	1.1
+++ patches/patch-deps_v8_src_codegen_x64_macro-assembler-x64_h	14 May 2024 17:29:41 -0000
@@ -1,7 +1,7 @@
 Index: deps/v8/src/codegen/x64/macro-assembler-x64.h
 --- deps/v8/src/codegen/x64/macro-assembler-x64.h.orig
 +++ deps/v8/src/codegen/x64/macro-assembler-x64.h
-@@ -556,11 +556,14 @@ class V8_EXPORT_PRIVATE TurboAssembler
+@@ -577,11 +577,14 @@ class V8_EXPORT_PRIVATE MacroAssembler
  
    // Define a function entrypoint. This doesn't emit any code for this
    // architecture, as control-flow integrity is not supported for it.
Index: patches/patch-deps_v8_src_compiler_backend_x64_code-generator-x64_cc
===================================================================
RCS file: /cvs/ports/lang/node/patches/patch-deps_v8_src_compiler_backend_x64_code-generator-x64_cc,v
diff -u -p -r1.1 patch-deps_v8_src_compiler_backend_x64_code-generator-x64_cc
--- patches/patch-deps_v8_src_compiler_backend_x64_code-generator-x64_cc	7 Jul 2023 10:44:15 -0000	1.1
+++ patches/patch-deps_v8_src_compiler_backend_x64_code-generator-x64_cc	14 May 2024 17:29:41 -0000
@@ -1,7 +1,7 @@
 Index: deps/v8/src/compiler/backend/x64/code-generator-x64.cc
 --- deps/v8/src/compiler/backend/x64/code-generator-x64.cc.orig
 +++ deps/v8/src/compiler/backend/x64/code-generator-x64.cc
-@@ -4583,7 +4583,7 @@ void CodeGenerator::AssembleArchTableSwitch(Instructio
+@@ -5497,7 +5497,7 @@ void CodeGenerator::AssembleArchTableSwitch(Instructio
    __ cmpl(input, Immediate(case_count));
    __ j(above_equal, GetLabel(i.InputRpo(1)));
    __ leaq(kScratchRegister, Operand(table));
Index: patches/patch-deps_v8_src_execution_isolate_cc
===================================================================
RCS file: /cvs/ports/lang/node/patches/patch-deps_v8_src_execution_isolate_cc,v
diff -u -p -r1.2 patch-deps_v8_src_execution_isolate_cc
--- patches/patch-deps_v8_src_execution_isolate_cc	19 Feb 2023 12:27:19 -0000	1.2
+++ patches/patch-deps_v8_src_execution_isolate_cc	14 May 2024 17:29:41 -0000
@@ -1,7 +1,7 @@
 Index: deps/v8/src/execution/isolate.cc
 --- deps/v8/src/execution/isolate.cc.orig
 +++ deps/v8/src/execution/isolate.cc
-@@ -141,6 +141,10 @@
+@@ -145,6 +145,10 @@
  #include "src/execution/simulator-base.h"
  #endif
  
@@ -9,17 +9,19 @@ Index: deps/v8/src/execution/isolate.cc
 +#include <sys/mman.h>
 +#endif
 +
- extern "C" const uint8_t* v8_Default_embedded_blob_code_;
+ extern "C" const uint8_t v8_Default_embedded_blob_code_[];
  extern "C" uint32_t v8_Default_embedded_blob_code_size_;
- extern "C" const uint8_t* v8_Default_embedded_blob_data_;
-@@ -3691,6 +3695,11 @@ void Isolate::InitializeDefaultEmbeddedBlob() {
+ extern "C" const uint8_t v8_Default_embedded_blob_data_[];
+@@ -3864,6 +3868,13 @@ void Isolate::InitializeDefaultEmbeddedBlob() {
    uint32_t code_size = DefaultEmbeddedBlobCodeSize();
    const uint8_t* data = DefaultEmbeddedBlobData();
    uint32_t data_size = DefaultEmbeddedBlobDataSize();
 +
-+#if defined(V8_OS_OPENBSD)
-+  mprotect(reinterpret_cast<void *>(const_cast<uint8_t *>(code)),
-+          code_size, PROT_READ | PROT_EXEC);
++#if defined(V8_OS_OPENBSD) && !defined(V8_TARGET_ARCH_IA32)
++  if (code_size > 0) {
++    mprotect(reinterpret_cast<void *>(const_cast<uint8_t *>(code)),
++            code_size, PROT_READ | PROT_EXEC);
++  }
 +#endif
  
    if (StickyEmbeddedBlobCode() != nullptr) {
Index: patches/patch-deps_v8_src_flags_flags_cc
===================================================================
RCS file: patches/patch-deps_v8_src_flags_flags_cc
diff -N patches/patch-deps_v8_src_flags_flags_cc
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ patches/patch-deps_v8_src_flags_flags_cc	14 May 2024 17:29:41 -0000
@@ -0,0 +1,37 @@
+Index: deps/v8/src/flags/flags.cc
+--- deps/v8/src/flags/flags.cc.orig
++++ deps/v8/src/flags/flags.cc
+@@ -13,6 +13,10 @@
+ #include <set>
+ #include <sstream>
+ 
++#if V8_OS_OPENBSD
++#include <sys/mman.h>
++#endif
++
+ #include "src/base/functional.h"
+ #include "src/base/logging.h"
+ #include "src/base/platform/platform.h"
+@@ -32,7 +36,11 @@
+ namespace v8::internal {
+ 
+ // Define {v8_flags}, declared in flags.h.
++#if V8_OS_OPENBSD
++FlagValues v8_flags __attribute__((section(".openbsd.mutable")));
++#else
+ FlagValues v8_flags;
++#endif
+ 
+ // {v8_flags} needs to be aligned to a memory page, and the size needs to be a
+ // multiple of a page size. This is required for memory-protection of the memory
+@@ -899,6 +907,10 @@ void FlagList::FreezeFlags() {
+   // Note that for string flags we only protect the pointer itself, but not the
+   // string storage. TODO(12887): Fix this.
+   base::OS::SetDataReadOnly(&v8_flags, sizeof(v8_flags));
++#if V8_OS_OPENBSD
++  if (mimmutable(&v8_flags, sizeof(v8_flags)) == -1)
++    FATAL("unable to set immutability of v8_flags");
++#endif
+ }
+ 
+ // static
Index: patches/patch-deps_v8_src_maglev_x64_maglev-assembler-x64-inl_h
===================================================================
RCS file: patches/patch-deps_v8_src_maglev_x64_maglev-assembler-x64-inl_h
diff -N patches/patch-deps_v8_src_maglev_x64_maglev-assembler-x64-inl_h
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ patches/patch-deps_v8_src_maglev_x64_maglev-assembler-x64-inl_h	14 May 2024 17:29:41 -0000
@@ -0,0 +1,15 @@
+Index: deps/v8/src/maglev/x64/maglev-assembler-x64-inl.h
+--- deps/v8/src/maglev/x64/maglev-assembler-x64-inl.h.orig
++++ deps/v8/src/maglev/x64/maglev-assembler-x64-inl.h
+@@ -181,7 +181,10 @@ void MaglevAssembler::PushReverse(T... vals) {
+   detail::PushAllHelper<T...>::PushReverse(this, vals...);
+ }
+ 
+-inline void MaglevAssembler::BindJumpTarget(Label* label) { bind(label); }
++inline void MaglevAssembler::BindJumpTarget(Label* label) { 
++  bind(label); 
++  endbr64();
++}
+ 
+ inline void MaglevAssembler::BindBlock(BasicBlock* block) {
+   bind(block->label());
Index: patches/patch-deps_v8_src_maglev_x64_maglev-assembler-x64_cc
===================================================================
RCS file: patches/patch-deps_v8_src_maglev_x64_maglev-assembler-x64_cc
diff -N patches/patch-deps_v8_src_maglev_x64_maglev-assembler-x64_cc
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ patches/patch-deps_v8_src_maglev_x64_maglev-assembler-x64_cc	14 May 2024 17:29:41 -0000
@@ -0,0 +1,16 @@
+Index: deps/v8/src/maglev/x64/maglev-assembler-x64.cc
+--- deps/v8/src/maglev/x64/maglev-assembler-x64.cc.orig
++++ deps/v8/src/maglev/x64/maglev-assembler-x64.cc
+@@ -631,10 +631,11 @@ void MaglevAssembler::TryTruncateDoubleToInt32(Registe
+ }
+ 
+ void MaglevAssembler::Prologue(Graph* graph) {
++  CodeEntry();
+   BailoutIfDeoptimized(rbx);
+ 
+   if (graph->has_recursive_calls()) {
+-    bind(code_gen_state()->entry_label());
++    BindJumpTarget(code_gen_state()->entry_label());
+   }
+ 
+   // Tiering support.
Index: patches/patch-deps_v8_src_regexp_x64_regexp-macro-assembler-x64_cc
===================================================================
RCS file: /cvs/ports/lang/node/patches/patch-deps_v8_src_regexp_x64_regexp-macro-assembler-x64_cc,v
diff -u -p -r1.1 patch-deps_v8_src_regexp_x64_regexp-macro-assembler-x64_cc
--- patches/patch-deps_v8_src_regexp_x64_regexp-macro-assembler-x64_cc	7 Jul 2023 10:44:15 -0000	1.1
+++ patches/patch-deps_v8_src_regexp_x64_regexp-macro-assembler-x64_cc	14 May 2024 17:29:41 -0000
@@ -1,7 +1,7 @@
 Index: deps/v8/src/regexp/x64/regexp-macro-assembler-x64.cc
 --- deps/v8/src/regexp/x64/regexp-macro-assembler-x64.cc.orig
 +++ deps/v8/src/regexp/x64/regexp-macro-assembler-x64.cc
-@@ -109,6 +109,7 @@ RegExpMacroAssemblerX64::RegExpMacroAssemblerX64(Isola
+@@ -110,6 +110,7 @@ RegExpMacroAssemblerX64::RegExpMacroAssemblerX64(Isola
        backtrack_label_(),
        exit_label_() {
    DCHECK_EQ(0, registers_to_save % 2);
@@ -9,7 +9,16 @@ Index: deps/v8/src/regexp/x64/regexp-mac
    __ jmp(&entry_label_);   // We'll write the entry code when we know more.
    __ bind(&start_label_);  // And then continue from here.
  }
-@@ -696,6 +697,11 @@ bool RegExpMacroAssemblerX64::CheckSpecialCharacterCla
+@@ -170,7 +171,7 @@ void RegExpMacroAssemblerX64::Backtrack() {
+   // and jump to location.
+   Pop(rbx);
+   __ addq(rbx, code_object_pointer());
+-  __ jmp(rbx);
++  __ jmp(rbx, /*notrack=*/true);
+ }
+ 
+ 
+@@ -714,6 +715,11 @@ bool RegExpMacroAssemblerX64::CheckSpecialClassRanges(
        // Match any character.
        return true;
    }
Index: patches/patch-deps_v8_src_regexp_x64_regexp-macro-assembler-x64_h
===================================================================
RCS file: /cvs/ports/lang/node/patches/patch-deps_v8_src_regexp_x64_regexp-macro-assembler-x64_h,v
diff -u -p -r1.1 patch-deps_v8_src_regexp_x64_regexp-macro-assembler-x64_h
--- patches/patch-deps_v8_src_regexp_x64_regexp-macro-assembler-x64_h	7 Jul 2023 10:44:15 -0000	1.1
+++ patches/patch-deps_v8_src_regexp_x64_regexp-macro-assembler-x64_h	14 May 2024 17:29:41 -0000
@@ -1,13 +1,11 @@
 Index: deps/v8/src/regexp/x64/regexp-macro-assembler-x64.h
 --- deps/v8/src/regexp/x64/regexp-macro-assembler-x64.h.orig
 +++ deps/v8/src/regexp/x64/regexp-macro-assembler-x64.h
-@@ -59,6 +59,9 @@ class V8_EXPORT_PRIVATE RegExpMacroAssemblerX64
-   void CheckPosition(int cp_offset, Label* on_outside_input) override;
-   bool CheckSpecialCharacterClass(StandardCharacterSet type,
-                                   Label* on_no_match) override;
-+
+@@ -23,6 +23,7 @@ class V8_EXPORT_PRIVATE RegExpMacroAssemblerX64
+   void AdvanceRegister(int reg, int by) override;
+   void Backtrack() override;
+   void Bind(Label* label) override;
 +  void BindJumpTarget(Label* label) override;
-+
-   void Fail() override;
-   Handle<HeapObject> GetCode(Handle<String> source) override;
-   void GoTo(Label* label) override;
+   void CheckAtStart(int cp_offset, Label* on_at_start) override;
+   void CheckCharacter(uint32_t c, Label* on_equal) override;
+   void CheckCharacterAfterAnd(uint32_t c, uint32_t mask,
Index: patches/patch-deps_v8_src_snapshot_embedded_platform-embedded-file-writer-base_h
===================================================================
RCS file: /cvs/ports/lang/node/patches/patch-deps_v8_src_snapshot_embedded_platform-embedded-file-writer-base_h,v
diff -u -p -r1.1 patch-deps_v8_src_snapshot_embedded_platform-embedded-file-writer-base_h
--- patches/patch-deps_v8_src_snapshot_embedded_platform-embedded-file-writer-base_h	28 Jan 2023 12:46:46 -0000	1.1
+++ patches/patch-deps_v8_src_snapshot_embedded_platform-embedded-file-writer-base_h	14 May 2024 17:29:41 -0000
@@ -1,7 +1,7 @@
 Index: deps/v8/src/snapshot/embedded/platform-embedded-file-writer-base.h
 --- deps/v8/src/snapshot/embedded/platform-embedded-file-writer-base.h.orig
 +++ deps/v8/src/snapshot/embedded/platform-embedded-file-writer-base.h
-@@ -33,6 +33,7 @@ enum class EmbeddedTargetOs {
+@@ -31,6 +31,7 @@ enum class EmbeddedTargetOs {
    kMac,
    kWin,
    kStarboard,
Index: patches/patch-deps_v8_src_snapshot_embedded_platform-embedded-file-writer-generic_cc
===================================================================
RCS file: /cvs/ports/lang/node/patches/patch-deps_v8_src_snapshot_embedded_platform-embedded-file-writer-generic_cc,v
diff -u -p -r1.1 patch-deps_v8_src_snapshot_embedded_platform-embedded-file-writer-generic_cc
--- patches/patch-deps_v8_src_snapshot_embedded_platform-embedded-file-writer-generic_cc	28 Jan 2023 12:46:46 -0000	1.1
+++ patches/patch-deps_v8_src_snapshot_embedded_platform-embedded-file-writer-generic_cc	14 May 2024 17:29:41 -0000
@@ -1,8 +1,8 @@
 Index: deps/v8/src/snapshot/embedded/platform-embedded-file-writer-generic.cc
 --- deps/v8/src/snapshot/embedded/platform-embedded-file-writer-generic.cc.orig
 +++ deps/v8/src/snapshot/embedded/platform-embedded-file-writer-generic.cc
-@@ -10,6 +10,10 @@
- #include "src/common/globals.h"
+@@ -9,6 +9,10 @@
+ 
  #include "src/objects/code.h"
  
 +#if V8_OS_OPENBSD
@@ -12,36 +12,32 @@ Index: deps/v8/src/snapshot/embedded/pla
  namespace v8 {
  namespace internal {
  
-@@ -36,6 +40,8 @@ const char* DirectiveAsString(DataDirective directive)
+@@ -35,6 +39,10 @@ const char* DirectiveAsString(DataDirective directive)
  void PlatformEmbeddedFileWriterGeneric::SectionText() {
    if (target_os_ == EmbeddedTargetOs::kChromeOS) {
      fprintf(fp_, ".section .text.hot.embedded\n");
++#if !defined(V8_TARGET_ARCH_IA32)
 +  } else if (target_os_ == EmbeddedTargetOs::kOpenBSD) {
 +    fprintf(fp_, ".section .openbsd.mutable,\"a\"\n");
++#endif
    } else {
      fprintf(fp_, ".section .text\n");
    }
-@@ -74,7 +80,9 @@ void PlatformEmbeddedFileWriterGeneric::DeclareSymbolG
- }
- 
- void PlatformEmbeddedFileWriterGeneric::AlignToCodeAlignment() {
--#if V8_TARGET_ARCH_X64
-+#if V8_OS_OPENBSD
+@@ -66,6 +74,8 @@ void PlatformEmbeddedFileWriterGeneric::AlignToCodeAli
+   // On these architectures and platforms, we remap the builtins, so need these
+   // to be aligned on a page boundary.
+   fprintf(fp_, ".balign 4096\n");
++#elif defined(V8_OS_OPENBSD) && !defined(V8_TARGET_ARCH_IA32)
 +  fprintf(fp_, ".balign %d\n", PAGE_SIZE);
-+#elif V8_TARGET_ARCH_X64
+ #elif V8_TARGET_ARCH_X64
    // On x64 use 64-bytes code alignment to allow 64-bytes loop header alignment.
-   STATIC_ASSERT(64 >= kCodeAlignment);
-   fprintf(fp_, ".balign 64\n");
-@@ -96,6 +104,12 @@ void PlatformEmbeddedFileWriterGeneric::AlignToDataAli
-   // load target to be aligned at 8 bytes (2^3).
-   STATIC_ASSERT(8 >= Code::kMetadataAlignment);
-   fprintf(fp_, ".balign 8\n");
-+}
-+
-+void PlatformEmbeddedFileWriterGeneric::PaddingAfterCode() {
-+#if V8_OS_OPENBSD
+   static_assert(64 >= kCodeAlignment);
+@@ -86,6 +96,8 @@ void PlatformEmbeddedFileWriterGeneric::AlignToPageSiz
+     (V8_TARGET_ARCH_X64 || V8_TARGET_ARCH_ARM64)
+   // Since the builtins are remapped, need to pad until the next page boundary.
+   fprintf(fp_, ".balign 4096\n");
++#elif defined(V8_OS_OPENBSD) && !defined(V8_TARGET_ARCH_IA32)
 +  fprintf(fp_, ".balign %d\n", PAGE_SIZE);
-+#endif
+ #endif
  }
  
- void PlatformEmbeddedFileWriterGeneric::Comment(const char* string) {
Index: patches/patch-deps_v8_src_snapshot_embedded_platform-embedded-file-writer-generic_h
===================================================================
RCS file: patches/patch-deps_v8_src_snapshot_embedded_platform-embedded-file-writer-generic_h
diff -N patches/patch-deps_v8_src_snapshot_embedded_platform-embedded-file-writer-generic_h
--- patches/patch-deps_v8_src_snapshot_embedded_platform-embedded-file-writer-generic_h	28 Jan 2023 12:46:46 -0000	1.1
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,11 +0,0 @@
-Index: deps/v8/src/snapshot/embedded/platform-embedded-file-writer-generic.h
---- deps/v8/src/snapshot/embedded/platform-embedded-file-writer-generic.h.orig
-+++ deps/v8/src/snapshot/embedded/platform-embedded-file-writer-generic.h
-@@ -28,6 +28,7 @@ class PlatformEmbeddedFileWriterGeneric
-   void SectionRoData() override;
- 
-   void AlignToCodeAlignment() override;
-+  void PaddingAfterCode() override;
-   void AlignToDataAlignment() override;
- 
-   void DeclareUint32(const char* name, uint32_t value) override;
Index: patches/patch-deps_v8_src_trap-handler_handler-inside-posix_cc
===================================================================
RCS file: /cvs/ports/lang/node/patches/patch-deps_v8_src_trap-handler_handler-inside-posix_cc,v
diff -u -p -r1.2 patch-deps_v8_src_trap-handler_handler-inside-posix_cc
--- patches/patch-deps_v8_src_trap-handler_handler-inside-posix_cc	11 Mar 2022 19:29:08 -0000	1.2
+++ patches/patch-deps_v8_src_trap-handler_handler-inside-posix_cc	14 May 2024 17:29:41 -0000
@@ -1,6 +1,7 @@
---- deps/v8/src/trap-handler/handler-inside-posix.cc.orig	Sat Jan  1 17:10:11 2022
-+++ deps/v8/src/trap-handler/handler-inside-posix.cc	Sat Jan  1 17:10:11 2022
-@@ -53,6 +53,8 @@ namespace trap_handler {
+Index: deps/v8/src/trap-handler/handler-inside-posix.cc
+--- deps/v8/src/trap-handler/handler-inside-posix.cc.orig
++++ deps/v8/src/trap-handler/handler-inside-posix.cc
+@@ -55,6 +55,8 @@ namespace trap_handler {
  #define CONTEXT_REG(reg, REG) &uc->uc_mcontext->__ss.__##reg
  #elif V8_OS_FREEBSD
  #define CONTEXT_REG(reg, REG) &uc->uc_mcontext.mc_##reg
@@ -9,7 +10,7 @@
  #else
  #error "Unsupported platform."
  #endif
-@@ -62,8 +64,12 @@ bool IsKernelGeneratedSignal(siginfo_t* info) {
+@@ -64,8 +66,12 @@ bool IsKernelGeneratedSignal(siginfo_t* info) {
    // si_code at its default of 0 for signals that don’t originate in hardware.
    // The other conditions are only relevant for Linux.
    return info->si_code > 0 && info->si_code != SI_USER &&
Index: patches/patch-deps_v8_src_wasm_baseline_ia32_liftoff-assembler-ia32_h
===================================================================
RCS file: /cvs/ports/lang/node/patches/patch-deps_v8_src_wasm_baseline_ia32_liftoff-assembler-ia32_h,v
diff -u -p -r1.3 patch-deps_v8_src_wasm_baseline_ia32_liftoff-assembler-ia32_h
--- patches/patch-deps_v8_src_wasm_baseline_ia32_liftoff-assembler-ia32_h	29 Dec 2022 23:34:13 -0000	1.3
+++ patches/patch-deps_v8_src_wasm_baseline_ia32_liftoff-assembler-ia32_h	14 May 2024 17:29:42 -0000
@@ -1,102 +1,102 @@
 Index: deps/v8/src/wasm/baseline/ia32/liftoff-assembler-ia32.h
 --- deps/v8/src/wasm/baseline/ia32/liftoff-assembler-ia32.h.orig
 +++ deps/v8/src/wasm/baseline/ia32/liftoff-assembler-ia32.h
-@@ -434,7 +434,7 @@ void LiftoffAssembler::StoreTaggedPointer(Register dst
+@@ -419,7 +419,7 @@ void LiftoffAssembler::StoreTaggedPointer(Register dst
  }
  
  void LiftoffAssembler::Load(LiftoffRegister dst, Register src_addr,
 -                            Register offset_reg, uint32_t offset_imm,
 +                            Register offset_reg, uintptr_t offset_imm,
-                             LoadType type, LiftoffRegList pinned,
-                             uint32_t* protected_load_pc, bool is_load_mem,
-                             bool i64_offset) {
-@@ -511,7 +511,7 @@ void LiftoffAssembler::Load(LiftoffRegister dst, Regis
+                             LoadType type, uint32_t* protected_load_pc,
+                             bool /* is_load_mem */, bool /* i64_offset */,
+                             bool needs_shift) {
+@@ -499,7 +499,7 @@ void LiftoffAssembler::Load(LiftoffRegister dst, Regis
  }
  
  void LiftoffAssembler::Store(Register dst_addr, Register offset_reg,
 -                             uint32_t offset_imm, LiftoffRegister src,
 +                             uintptr_t offset_imm, LiftoffRegister src,
                               StoreType type, LiftoffRegList pinned,
-                              uint32_t* protected_store_pc, bool is_store_mem) {
-   DCHECK_EQ(type.value_type() == kWasmI64, src.is_gp_pair());
-@@ -579,7 +579,7 @@ void LiftoffAssembler::Store(Register dst_addr, Regist
+                              uint32_t* protected_store_pc,
+                              bool /* is_store_mem */, bool /* i64_offset */) {
+@@ -568,7 +568,7 @@ void LiftoffAssembler::Store(Register dst_addr, Regist
  }
  
  void LiftoffAssembler::AtomicLoad(LiftoffRegister dst, Register src_addr,
 -                                  Register offset_reg, uint32_t offset_imm,
 +                                  Register offset_reg, uintptr_t offset_imm,
-                                   LoadType type, LiftoffRegList pinned) {
+                                   LoadType type, LiftoffRegList /* pinned */,
+                                   bool /* i64_offset */) {
    if (type.value() != LoadType::kI64Load) {
-     Load(dst, src_addr, offset_reg, offset_imm, type, pinned, nullptr, true);
-@@ -598,7 +598,7 @@ void LiftoffAssembler::AtomicLoad(LiftoffRegister dst,
+@@ -588,7 +588,7 @@ void LiftoffAssembler::AtomicLoad(LiftoffRegister dst,
  }
  
  void LiftoffAssembler::AtomicStore(Register dst_addr, Register offset_reg,
 -                                   uint32_t offset_imm, LiftoffRegister src,
 +                                   uintptr_t offset_imm, LiftoffRegister src,
-                                    StoreType type, LiftoffRegList pinned) {
+                                    StoreType type, LiftoffRegList pinned,
+                                    bool /* i64_offset */) {
    DCHECK_NE(offset_reg, no_reg);
-   DCHECK_LE(offset_imm, std::numeric_limits<int32_t>::max());
-@@ -938,7 +938,7 @@ inline void AtomicBinop64(LiftoffAssembler* lasm, Bino
+@@ -929,7 +929,7 @@ inline void AtomicBinop64(LiftoffAssembler* lasm, Bino
  }  // namespace liftoff
  
  void LiftoffAssembler::AtomicAdd(Register dst_addr, Register offset_reg,
 -                                 uint32_t offset_imm, LiftoffRegister value,
 +                                 uintptr_t offset_imm, LiftoffRegister value,
-                                  LiftoffRegister result, StoreType type) {
+                                  LiftoffRegister result, StoreType type,
+                                  bool /* i64_offset */) {
    if (type.value() == StoreType::kI64Store) {
-     liftoff::AtomicBinop64(this, liftoff::kAdd, dst_addr, offset_reg,
-@@ -951,7 +951,7 @@ void LiftoffAssembler::AtomicAdd(Register dst_addr, Re
+@@ -943,7 +943,7 @@ void LiftoffAssembler::AtomicAdd(Register dst_addr, Re
  }
  
  void LiftoffAssembler::AtomicSub(Register dst_addr, Register offset_reg,
 -                                 uint32_t offset_imm, LiftoffRegister value,
 +                                 uintptr_t offset_imm, LiftoffRegister value,
-                                  LiftoffRegister result, StoreType type) {
+                                  LiftoffRegister result, StoreType type,
+                                  bool /* i64_offset */) {
    if (type.value() == StoreType::kI64Store) {
-     liftoff::AtomicBinop64(this, liftoff::kSub, dst_addr, offset_reg,
-@@ -963,7 +963,7 @@ void LiftoffAssembler::AtomicSub(Register dst_addr, Re
+@@ -956,7 +956,7 @@ void LiftoffAssembler::AtomicSub(Register dst_addr, Re
  }
  
  void LiftoffAssembler::AtomicAnd(Register dst_addr, Register offset_reg,
 -                                 uint32_t offset_imm, LiftoffRegister value,
 +                                 uintptr_t offset_imm, LiftoffRegister value,
-                                  LiftoffRegister result, StoreType type) {
+                                  LiftoffRegister result, StoreType type,
+                                  bool /* i64_offset */) {
    if (type.value() == StoreType::kI64Store) {
-     liftoff::AtomicBinop64(this, liftoff::kAnd, dst_addr, offset_reg,
-@@ -976,7 +976,7 @@ void LiftoffAssembler::AtomicAnd(Register dst_addr, Re
+@@ -970,7 +970,7 @@ void LiftoffAssembler::AtomicAnd(Register dst_addr, Re
  }
  
  void LiftoffAssembler::AtomicOr(Register dst_addr, Register offset_reg,
 -                                uint32_t offset_imm, LiftoffRegister value,
 +                                uintptr_t offset_imm, LiftoffRegister value,
-                                 LiftoffRegister result, StoreType type) {
+                                 LiftoffRegister result, StoreType type,
+                                 bool /* i64_offset */) {
    if (type.value() == StoreType::kI64Store) {
-     liftoff::AtomicBinop64(this, liftoff::kOr, dst_addr, offset_reg, offset_imm,
-@@ -989,7 +989,7 @@ void LiftoffAssembler::AtomicOr(Register dst_addr, Reg
+@@ -984,7 +984,7 @@ void LiftoffAssembler::AtomicOr(Register dst_addr, Reg
  }
  
  void LiftoffAssembler::AtomicXor(Register dst_addr, Register offset_reg,
 -                                 uint32_t offset_imm, LiftoffRegister value,
 +                                 uintptr_t offset_imm, LiftoffRegister value,
-                                  LiftoffRegister result, StoreType type) {
+                                  LiftoffRegister result, StoreType type,
+                                  bool /* i64_offset */) {
    if (type.value() == StoreType::kI64Store) {
-     liftoff::AtomicBinop64(this, liftoff::kXor, dst_addr, offset_reg,
-@@ -1002,7 +1002,7 @@ void LiftoffAssembler::AtomicXor(Register dst_addr, Re
+@@ -998,7 +998,7 @@ void LiftoffAssembler::AtomicXor(Register dst_addr, Re
  }
  
  void LiftoffAssembler::AtomicExchange(Register dst_addr, Register offset_reg,
 -                                      uint32_t offset_imm,
 +                                      uintptr_t offset_imm,
                                        LiftoffRegister value,
-                                       LiftoffRegister result, StoreType type) {
-   if (type.value() == StoreType::kI64Store) {
-@@ -1016,7 +1016,7 @@ void LiftoffAssembler::AtomicExchange(Register dst_add
+                                       LiftoffRegister result, StoreType type,
+                                       bool /* i64_offset */) {
+@@ -1013,7 +1013,7 @@ void LiftoffAssembler::AtomicExchange(Register dst_add
  }
  
  void LiftoffAssembler::AtomicCompareExchange(
 -    Register dst_addr, Register offset_reg, uint32_t offset_imm,
 +    Register dst_addr, Register offset_reg, uintptr_t offset_imm,
      LiftoffRegister expected, LiftoffRegister new_value, LiftoffRegister result,
-     StoreType type) {
+     StoreType type, bool /* i64_offset */) {
    // We expect that the offset has already been added to {dst_addr}, and no
Index: patches/patch-deps_v8_src_wasm_jump-table-assembler_cc
===================================================================
RCS file: /cvs/ports/lang/node/patches/patch-deps_v8_src_wasm_jump-table-assembler_cc,v
diff -u -p -r1.1 patch-deps_v8_src_wasm_jump-table-assembler_cc
--- patches/patch-deps_v8_src_wasm_jump-table-assembler_cc	7 Jul 2023 10:44:15 -0000	1.1
+++ patches/patch-deps_v8_src_wasm_jump-table-assembler_cc	14 May 2024 17:29:42 -0000
@@ -1,7 +1,7 @@
 Index: deps/v8/src/wasm/jump-table-assembler.cc
 --- deps/v8/src/wasm/jump-table-assembler.cc.orig
 +++ deps/v8/src/wasm/jump-table-assembler.cc
-@@ -16,15 +16,21 @@ namespace wasm {
+@@ -52,15 +52,21 @@ void JumpTableAssembler::InitializeJumpsToLazyCompileT
  #if V8_TARGET_ARCH_X64
  void JumpTableAssembler::EmitLazyCompileJumpSlot(uint32_t func_index,
                                                   Address lazy_compile_target) {
@@ -26,7 +26,7 @@ Index: deps/v8/src/wasm/jump-table-assem
    near_jmp(displacement, RelocInfo::NO_INFO);  // 5 bytes
    return true;
  }
-@@ -32,11 +38,12 @@ bool JumpTableAssembler::EmitJumpSlot(Address target) 
+@@ -68,11 +74,12 @@ bool JumpTableAssembler::EmitJumpSlot(Address target) 
  void JumpTableAssembler::EmitFarJumpSlot(Address target) {
    Label data;
    int start_offset = pc_offset();
@@ -41,7 +41,7 @@ Index: deps/v8/src/wasm/jump-table-assem
    USE(start_offset);
    bind(&data);
    dq(target);  // 8 bytes
-@@ -47,7 +54,7 @@ void JumpTableAssembler::PatchFarJumpSlot(Address slot
+@@ -83,7 +90,7 @@ void JumpTableAssembler::PatchFarJumpSlot(Address slot
    // The slot needs to be pointer-size aligned so we can atomically update it.
    DCHECK(IsAligned(slot, kSystemPointerSize));
    // Offset of the target is at 8 bytes, see {EmitFarJumpSlot}.
Index: patches/patch-deps_v8_src_wasm_jump-table-assembler_h
===================================================================
RCS file: /cvs/ports/lang/node/patches/patch-deps_v8_src_wasm_jump-table-assembler_h,v
diff -u -p -r1.1 patch-deps_v8_src_wasm_jump-table-assembler_h
--- patches/patch-deps_v8_src_wasm_jump-table-assembler_h	7 Jul 2023 10:44:15 -0000	1.1
+++ patches/patch-deps_v8_src_wasm_jump-table-assembler_h	14 May 2024 17:29:42 -0000
@@ -1,7 +1,7 @@
 Index: deps/v8/src/wasm/jump-table-assembler.h
 --- deps/v8/src/wasm/jump-table-assembler.h.orig
 +++ deps/v8/src/wasm/jump-table-assembler.h
-@@ -176,9 +176,10 @@ class V8_EXPORT_PRIVATE JumpTableAssembler : public Ma
+@@ -185,9 +185,10 @@ class V8_EXPORT_PRIVATE JumpTableAssembler : public Ma
  // boundaries. The jump table line size has been chosen to satisfy this.
  #if V8_TARGET_ARCH_X64
    static constexpr int kJumpTableLineSize = 64;
Index: patches/patch-include_node_common_gypi
===================================================================
RCS file: /cvs/ports/lang/node/patches/patch-include_node_common_gypi,v
diff -u -p -r1.4 patch-include_node_common_gypi
--- patches/patch-include_node_common_gypi	26 Sep 2023 10:44:19 -0000	1.4
+++ patches/patch-include_node_common_gypi	14 May 2024 17:29:42 -0000
@@ -1,7 +1,7 @@
 Index: include/node/common.gypi
 --- include/node/common.gypi.orig
 +++ include/node/common.gypi
-@@ -180,7 +180,6 @@
+@@ -189,7 +189,6 @@
              }],
            ],
          },
@@ -9,7 +9,7 @@ Index: include/node/common.gypi
          'conditions': [
            ['enable_lto=="true"', {
              'cflags': ['<(lto)'],
-@@ -426,7 +425,7 @@
+@@ -490,7 +489,7 @@
                  'ldflags': [ '-m32' ],
                }],
                [ 'host_arch=="ppc64" and OS not in "aix os400"', {
@@ -18,7 +18,7 @@ Index: include/node/common.gypi
                  'ldflags': [ '-m64' ],
                }],
                [ 'host_arch=="s390x" and OS=="linux"', {
-@@ -450,7 +449,7 @@
+@@ -514,7 +513,7 @@
                  'ldflags': [ '-m32' ],
                }],
                [ 'target_arch=="ppc64" and OS not in "aix os400"', {
Index: patches/patch-lib_internal_modules_cjs_loader_js
===================================================================
RCS file: /cvs/ports/lang/node/patches/patch-lib_internal_modules_cjs_loader_js,v
diff -u -p -r1.12 patch-lib_internal_modules_cjs_loader_js
--- patches/patch-lib_internal_modules_cjs_loader_js	7 Dec 2023 17:01:27 -0000	1.12
+++ patches/patch-lib_internal_modules_cjs_loader_js	14 May 2024 17:29:42 -0000
@@ -1,7 +1,7 @@
 Index: lib/internal/modules/cjs/loader.js
 --- lib/internal/modules/cjs/loader.js.orig
 +++ lib/internal/modules/cjs/loader.js
-@@ -1516,7 +1516,10 @@ Module._initPaths = function() {
+@@ -1518,7 +1518,10 @@ Module._initPaths = function() {
      path.resolve(process.execPath, '..') :
      path.resolve(process.execPath, '..', '..');
  
Index: patches/patch-lib_net_js
===================================================================
RCS file: /cvs/ports/lang/node/patches/patch-lib_net_js,v
diff -u -p -r1.9 patch-lib_net_js
--- patches/patch-lib_net_js	26 Sep 2023 10:44:19 -0000	1.9
+++ patches/patch-lib_net_js	14 May 2024 17:29:42 -0000
@@ -13,7 +13,7 @@ for "any address" but that's not really 
 Index: lib/net.js
 --- lib/net.js.orig
 +++ lib/net.js
-@@ -1779,22 +1779,12 @@ function setupListenHandle(address, port, addressType,
+@@ -1860,22 +1860,12 @@ function setupListenHandle(address, port, addressType,
  
      let rval = null;
  
@@ -38,4 +38,4 @@ Index: lib/net.js
 +    rval = createServerHandle(address, port, addressType, fd, flags);
  
      if (typeof rval === 'number') {
-       const error = uvExceptionWithHostPort(rval, 'listen', address, port);
+       const error = new UVExceptionWithHostPort(rval, 'listen', address, port);
Index: patches/patch-node_gyp
===================================================================
RCS file: /cvs/ports/lang/node/patches/patch-node_gyp,v
diff -u -p -r1.21 patch-node_gyp
--- patches/patch-node_gyp	7 Dec 2023 17:01:27 -0000	1.21
+++ patches/patch-node_gyp	14 May 2024 17:29:42 -0000
@@ -4,7 +4,7 @@ devel/gtest if installed.
 Index: node.gyp
 --- node.gyp.orig
 +++ node.gyp
-@@ -468,7 +468,7 @@
+@@ -826,7 +826,7 @@
        ],
        'dependencies': [
          'deps/base64/base64.gyp:base64',
@@ -13,7 +13,7 @@ Index: node.gyp
          'deps/histogram/histogram.gyp:histogram',
          'deps/uvwasi/uvwasi.gyp:uvwasi',
          'deps/simdutf/simdutf.gyp:simdutf',
-@@ -1222,8 +1222,8 @@
+@@ -1056,8 +1056,8 @@
        'dependencies': [
          '<(node_lib_target_name)',
          'deps/base64/base64.gyp:base64',
@@ -23,8 +23,8 @@ Index: node.gyp
 +        #'deps/googletest/googletest.gyp:gtest_main',
          'deps/histogram/histogram.gyp:histogram',
          'deps/uvwasi/uvwasi.gyp:uvwasi',
-         'node_dtrace_header',
-@@ -1299,6 +1299,10 @@
+         'deps/simdutf/simdutf.gyp:simdutf',
+@@ -1105,6 +1105,10 @@
          }],
          ['OS=="solaris"', {
            'ldflags': [ '-I<(SHARED_INTERMEDIATE_DIR)' ]
Index: patches/patch-src_cares_wrap_h
===================================================================
RCS file: /cvs/ports/lang/node/patches/patch-src_cares_wrap_h,v
diff -u -p -r1.3 patch-src_cares_wrap_h
--- patches/patch-src_cares_wrap_h	29 Dec 2022 23:34:13 -0000	1.3
+++ patches/patch-src_cares_wrap_h	14 May 2024 17:29:42 -0000
@@ -1,7 +1,7 @@
 Index: src/cares_wrap.h
 --- src/cares_wrap.h.orig
 +++ src/cares_wrap.h
-@@ -521,4 +521,109 @@ using GetHostByAddrWrap = QueryWrap<ReverseTraits>;
+@@ -524,4 +524,109 @@ using GetHostByAddrWrap = QueryWrap<ReverseTraits>;
  
  #endif  // defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS
  
Index: patches/patch-src_env_cc
===================================================================
RCS file: /cvs/ports/lang/node/patches/patch-src_env_cc,v
diff -u -p -r1.8 patch-src_env_cc
--- patches/patch-src_env_cc	7 Dec 2023 17:01:27 -0000	1.8
+++ patches/patch-src_env_cc	14 May 2024 17:29:42 -0000
@@ -1,10 +1,10 @@
 Index: src/env.cc
 --- src/env.cc.orig
 +++ src/env.cc
-@@ -621,29 +621,7 @@ std::unique_ptr<v8::BackingStore> Environment::release
+@@ -745,29 +745,7 @@ std::unique_ptr<v8::BackingStore> Environment::release
  }
  
- std::string GetExecPath(const std::vector<std::string>& argv) {
+ std::string Environment::GetExecPath(const std::vector<std::string>& argv) {
 -  char exec_path_buf[2 * PATH_MAX];
 -  size_t exec_path_len = sizeof(exec_path_buf);
 -  std::string exec_path;
Index: patches/patch-tools_test_py
===================================================================
RCS file: /cvs/ports/lang/node/patches/patch-tools_test_py,v
diff -u -p -r1.13 patch-tools_test_py
--- patches/patch-tools_test_py	15 Aug 2023 13:46:36 -0000	1.13
+++ patches/patch-tools_test_py	14 May 2024 17:29:42 -0000
@@ -1,7 +1,7 @@
 Index: tools/test.py
 --- tools/test.py.orig
 +++ tools/test.py
-@@ -937,9 +937,9 @@ class Context(object):
+@@ -944,9 +944,9 @@ class Context(object):
      if self.vm is not None:
        return self.vm
      if arch == 'none':
Index: patches/patch-tools_v8_gypfiles_toolchain_gypi
===================================================================
RCS file: /cvs/ports/lang/node/patches/patch-tools_v8_gypfiles_toolchain_gypi,v
diff -u -p -r1.1 patch-tools_v8_gypfiles_toolchain_gypi
--- patches/patch-tools_v8_gypfiles_toolchain_gypi	29 Dec 2022 23:34:13 -0000	1.1
+++ patches/patch-tools_v8_gypfiles_toolchain_gypi	14 May 2024 17:29:42 -0000
@@ -1,7 +1,7 @@
 Index: tools/v8_gypfiles/toolchain.gypi
 --- tools/v8_gypfiles/toolchain.gypi.orig
 +++ tools/v8_gypfiles/toolchain.gypi
-@@ -1304,11 +1304,9 @@
+@@ -861,11 +861,9 @@
                # Don't use -O3 with sanitizers.
                ['asan==0 and msan==0 and lsan==0 \
                  and tsan==0 and ubsan==0 and ubsan_vptr==0', {
Index: patches/patch-tools_v8_gypfiles_v8_gyp
===================================================================
RCS file: /cvs/ports/lang/node/patches/patch-tools_v8_gypfiles_v8_gyp,v
diff -u -p -r1.11 patch-tools_v8_gypfiles_v8_gyp
--- patches/patch-tools_v8_gypfiles_v8_gyp	15 Aug 2023 13:46:36 -0000	1.11
+++ patches/patch-tools_v8_gypfiles_v8_gyp	14 May 2024 17:29:42 -0000
@@ -7,7 +7,7 @@ from "0.0" if llvm (clang) is detected.
 Index: tools/v8_gypfiles/v8.gyp
 --- tools/v8_gypfiles/v8.gyp.orig
 +++ tools/v8_gypfiles/v8.gyp
-@@ -372,6 +372,9 @@
+@@ -373,6 +373,9 @@
              'v8_libplatform',
            ]
          }],
@@ -17,34 +17,34 @@ Index: tools/v8_gypfiles/v8.gyp
        ],
        'sources': [
          '<(V8_ROOT)/src/init/setup-isolate-deserialize.cc',
-@@ -581,7 +584,7 @@
+@@ -605,7 +608,7 @@
                }],
                ['v8_enable_webassembly==1', {
                  'conditions': [
 -                  ['OS=="linux" or OS=="mac" or OS=="ios" or OS=="freebsd"', {
 +                  ['OS=="linux" or OS=="mac" or OS=="ios" or OS=="freebsd" or OS=="openbsd"', {
                      'sources': [
-                       '<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn"  "v8_header_set.\\"v8_internal_headers\\".*?v8_current_cpu == \\"x64\\".*?v8_enable_webassembly.*?is_linux.*?sources \\+= ")',
+                       '<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn"  "v8_header_set.\\"v8_internal_headers\\".*?v8_enable_i18n_support.*?v8_current_cpu == \\"x64\\".*?v8_enable_webassembly.*?is_linux.*?sources \\+= ")',
                      ],
-@@ -821,7 +824,7 @@
+@@ -940,7 +943,7 @@
              }],
              ['v8_enable_webassembly==1', {
                'conditions': [
 -                ['OS=="linux" or OS=="mac" or OS=="ios" or OS=="freebsd"', {
 +                ['OS=="linux" or OS=="mac" or OS=="ios" or OS=="freebsd" or OS=="openbsd"', {
                    'sources': [
-                     '<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn"  "\\"v8_base_without_compiler.*?v8_current_cpu == \\"x64\\".*?v8_enable_webassembly.*?is_linux.*?sources \\+= ")',
+                     '<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn"  "\\"v8_base_without_compiler.*?v8_enable_wasm_gdb_remote_debugging.*?v8_current_cpu == \\"x64\\".*?v8_enable_webassembly.*?is_linux.*?sources \\+= ")',
                    ],
-@@ -977,7 +980,7 @@
+@@ -1095,7 +1098,7 @@
          }],
          # Platforms that don't have Compare-And-Swap (CAS) support need to link atomic library
          # to implement atomic memory access
--        ['v8_current_cpu in ["mips", "mipsel", "mips64", "mips64el", "ppc", "arm", "riscv64", "loong64"]', {
-+        ['v8_current_cpu in ["mips", "mipsel", "mips64", "mips64el", "ppc", "arm", "riscv64", "loong64"] and llvm_version == "0.0"', {
+-        ['v8_current_cpu in ["mips64", "mips64el", "ppc", "arm", "riscv64", "loong64"]', {
++        ['v8_current_cpu in ["mips64", "mips64el", "ppc", "arm", "riscv64", "loong64"] and llvm_version == "0.0"', {
            'link_settings': {
              'libraries': ['-latomic', ],
            },
-@@ -1438,6 +1441,9 @@
+@@ -1558,6 +1561,9 @@
          '<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn"  "\\"mksnapshot.*?sources = ")',
        ],
        'conditions': [
Index: pkg/PLIST
===================================================================
RCS file: /cvs/ports/lang/node/pkg/PLIST,v
diff -u -p -r1.60 PLIST
--- pkg/PLIST	19 Feb 2024 07:45:40 -0000	1.60
+++ pkg/PLIST	14 May 2024 17:29:42 -0000
@@ -6,7 +6,49 @@ include/node/
 include/node/common.gypi
 include/node/config.gypi
 include/node/cppgc/
+include/node/cppgc/allocation.h
 include/node/cppgc/common.h
+include/node/cppgc/cross-thread-persistent.h
+include/node/cppgc/custom-space.h
+include/node/cppgc/default-platform.h
+include/node/cppgc/ephemeron-pair.h
+include/node/cppgc/explicit-management.h
+include/node/cppgc/garbage-collected.h
+include/node/cppgc/heap-consistency.h
+include/node/cppgc/heap-handle.h
+include/node/cppgc/heap-state.h
+include/node/cppgc/heap-statistics.h
+include/node/cppgc/heap.h
+include/node/cppgc/internal/
+include/node/cppgc/internal/api-constants.h
+include/node/cppgc/internal/atomic-entry-flag.h
+include/node/cppgc/internal/base-page-handle.h
+include/node/cppgc/internal/caged-heap-local-data.h
+include/node/cppgc/internal/caged-heap.h
+include/node/cppgc/internal/compiler-specific.h
+include/node/cppgc/internal/finalizer-trait.h
+include/node/cppgc/internal/gc-info.h
+include/node/cppgc/internal/logging.h
+include/node/cppgc/internal/member-storage.h
+include/node/cppgc/internal/name-trait.h
+include/node/cppgc/internal/persistent-node.h
+include/node/cppgc/internal/pointer-policies.h
+include/node/cppgc/internal/write-barrier.h
+include/node/cppgc/liveness-broker.h
+include/node/cppgc/macros.h
+include/node/cppgc/member.h
+include/node/cppgc/name-provider.h
+include/node/cppgc/object-size-trait.h
+include/node/cppgc/persistent.h
+include/node/cppgc/platform.h
+include/node/cppgc/prefinalizer.h
+include/node/cppgc/process-heap-statistics.h
+include/node/cppgc/sentinel-pointer.h
+include/node/cppgc/source-location.h
+include/node/cppgc/testing.h
+include/node/cppgc/trace-trait.h
+include/node/cppgc/type-traits.h
+include/node/cppgc/visitor.h
 include/node/js_native_api.h
 include/node/js_native_api_types.h
 include/node/libplatform/
@@ -23,6 +65,7 @@ include/node/v8-array-buffer.h
 include/node/v8-callbacks.h
 include/node/v8-container.h
 include/node/v8-context.h
+include/node/v8-cppgc.h
 include/node/v8-data.h
 include/node/v8-date.h
 include/node/v8-debug.h
@@ -105,6 +148,10 @@ lib/node_modules/@isaacs/cliui/build/lib
 lib/node_modules/@isaacs/cliui/build/lib/index.js
 lib/node_modules/@isaacs/cliui/index.mjs
 lib/node_modules/@isaacs/cliui/node_modules/
+lib/node_modules/@isaacs/cliui/node_modules/ansi-regex/
+lib/node_modules/@isaacs/cliui/node_modules/ansi-regex/index.js
+lib/node_modules/@isaacs/cliui/node_modules/ansi-regex/license
+lib/node_modules/@isaacs/cliui/node_modules/ansi-regex/package.json
 lib/node_modules/@isaacs/cliui/node_modules/emoji-regex/
 lib/node_modules/@isaacs/cliui/node_modules/emoji-regex/LICENSE-MIT.txt
 lib/node_modules/@isaacs/cliui/node_modules/emoji-regex/RGI_Emoji.js
@@ -119,6 +166,10 @@ lib/node_modules/@isaacs/cliui/node_modu
 lib/node_modules/@isaacs/cliui/node_modules/string-width/index.js
 lib/node_modules/@isaacs/cliui/node_modules/string-width/license
 lib/node_modules/@isaacs/cliui/node_modules/string-width/package.json
+lib/node_modules/@isaacs/cliui/node_modules/strip-ansi/
+lib/node_modules/@isaacs/cliui/node_modules/strip-ansi/index.js
+lib/node_modules/@isaacs/cliui/node_modules/strip-ansi/license
+lib/node_modules/@isaacs/cliui/node_modules/strip-ansi/package.json
 lib/node_modules/@isaacs/cliui/package.json
 lib/node_modules/@isaacs/string-locale-compare/
 lib/node_modules/@isaacs/string-locale-compare/LICENSE
@@ -156,17 +207,13 @@ lib/node_modules/@npmcli/arborist/bin/vi
 lib/node_modules/@npmcli/arborist/lib/
 lib/node_modules/@npmcli/arborist/lib/add-rm-pkg-deps.js
 lib/node_modules/@npmcli/arborist/lib/arborist/
-lib/node_modules/@npmcli/arborist/lib/arborist/audit.js
 lib/node_modules/@npmcli/arborist/lib/arborist/build-ideal-tree.js
-lib/node_modules/@npmcli/arborist/lib/arborist/deduper.js
 lib/node_modules/@npmcli/arborist/lib/arborist/index.js
 lib/node_modules/@npmcli/arborist/lib/arborist/isolated-reifier.js
 lib/node_modules/@npmcli/arborist/lib/arborist/load-actual.js
 lib/node_modules/@npmcli/arborist/lib/arborist/load-virtual.js
-lib/node_modules/@npmcli/arborist/lib/arborist/pruner.js
 lib/node_modules/@npmcli/arborist/lib/arborist/rebuild.js
 lib/node_modules/@npmcli/arborist/lib/arborist/reify.js
-lib/node_modules/@npmcli/arborist/lib/arborist/set-workspaces.js
 lib/node_modules/@npmcli/arborist/lib/audit-report.js
 lib/node_modules/@npmcli/arborist/lib/calc-dep-flags.js
 lib/node_modules/@npmcli/arborist/lib/can-place-dep.js
@@ -179,7 +226,6 @@ lib/node_modules/@npmcli/arborist/lib/di
 lib/node_modules/@npmcli/arborist/lib/edge.js
 lib/node_modules/@npmcli/arborist/lib/from-path.js
 lib/node_modules/@npmcli/arborist/lib/gather-dep-set.js
-lib/node_modules/@npmcli/arborist/lib/get-workspace-nodes.js
 lib/node_modules/@npmcli/arborist/lib/index.js
 lib/node_modules/@npmcli/arborist/lib/inventory.js
 lib/node_modules/@npmcli/arborist/lib/link.js
@@ -314,11 +360,15 @@ lib/node_modules/@npmcli/query/LICENSE
 lib/node_modules/@npmcli/query/lib/
 lib/node_modules/@npmcli/query/lib/index.js
 lib/node_modules/@npmcli/query/package.json
+lib/node_modules/@npmcli/redact/
+lib/node_modules/@npmcli/redact/LICENSE
+lib/node_modules/@npmcli/redact/lib/
+lib/node_modules/@npmcli/redact/lib/index.js
+lib/node_modules/@npmcli/redact/package.json
 lib/node_modules/@npmcli/run-script/
 lib/node_modules/@npmcli/run-script/LICENSE
 lib/node_modules/@npmcli/run-script/lib/
 lib/node_modules/@npmcli/run-script/lib/is-server-package.js
-lib/node_modules/@npmcli/run-script/lib/is-windows.js
 lib/node_modules/@npmcli/run-script/lib/make-spawn-args.js
 lib/node_modules/@npmcli/run-script/lib/node-gyp-bin/
 lib/node_modules/@npmcli/run-script/lib/node-gyp-bin/node-gyp
@@ -360,6 +410,35 @@ lib/node_modules/@sigstore/bundle/dist/s
 lib/node_modules/@sigstore/bundle/dist/utility.js
 lib/node_modules/@sigstore/bundle/dist/validate.js
 lib/node_modules/@sigstore/bundle/package.json
+lib/node_modules/@sigstore/core/
+lib/node_modules/@sigstore/core/LICENSE
+lib/node_modules/@sigstore/core/dist/
+lib/node_modules/@sigstore/core/dist/asn1/
+lib/node_modules/@sigstore/core/dist/asn1/error.js
+lib/node_modules/@sigstore/core/dist/asn1/index.js
+lib/node_modules/@sigstore/core/dist/asn1/length.js
+lib/node_modules/@sigstore/core/dist/asn1/obj.js
+lib/node_modules/@sigstore/core/dist/asn1/parse.js
+lib/node_modules/@sigstore/core/dist/asn1/tag.js
+lib/node_modules/@sigstore/core/dist/crypto.js
+lib/node_modules/@sigstore/core/dist/dsse.js
+lib/node_modules/@sigstore/core/dist/encoding.js
+lib/node_modules/@sigstore/core/dist/index.js
+lib/node_modules/@sigstore/core/dist/json.js
+lib/node_modules/@sigstore/core/dist/oid.js
+lib/node_modules/@sigstore/core/dist/pem.js
+lib/node_modules/@sigstore/core/dist/rfc3161/
+lib/node_modules/@sigstore/core/dist/rfc3161/error.js
+lib/node_modules/@sigstore/core/dist/rfc3161/index.js
+lib/node_modules/@sigstore/core/dist/rfc3161/timestamp.js
+lib/node_modules/@sigstore/core/dist/rfc3161/tstinfo.js
+lib/node_modules/@sigstore/core/dist/stream.js
+lib/node_modules/@sigstore/core/dist/x509/
+lib/node_modules/@sigstore/core/dist/x509/cert.js
+lib/node_modules/@sigstore/core/dist/x509/ext.js
+lib/node_modules/@sigstore/core/dist/x509/index.js
+lib/node_modules/@sigstore/core/dist/x509/sct.js
+lib/node_modules/@sigstore/core/package.json
 lib/node_modules/@sigstore/protobuf-specs/
 lib/node_modules/@sigstore/protobuf-specs/LICENSE
 lib/node_modules/@sigstore/protobuf-specs/dist/
@@ -410,13 +489,8 @@ lib/node_modules/@sigstore/sign/dist/sig
 lib/node_modules/@sigstore/sign/dist/types/
 lib/node_modules/@sigstore/sign/dist/types/fetch.js
 lib/node_modules/@sigstore/sign/dist/util/
-lib/node_modules/@sigstore/sign/dist/util/crypto.js
-lib/node_modules/@sigstore/sign/dist/util/dsse.js
-lib/node_modules/@sigstore/sign/dist/util/encoding.js
 lib/node_modules/@sigstore/sign/dist/util/index.js
-lib/node_modules/@sigstore/sign/dist/util/json.js
 lib/node_modules/@sigstore/sign/dist/util/oidc.js
-lib/node_modules/@sigstore/sign/dist/util/pem.js
 lib/node_modules/@sigstore/sign/dist/util/ua.js
 lib/node_modules/@sigstore/sign/dist/witness/
 lib/node_modules/@sigstore/sign/dist/witness/index.js
@@ -438,8 +512,38 @@ lib/node_modules/@sigstore/tuf/dist/erro
 lib/node_modules/@sigstore/tuf/dist/index.js
 lib/node_modules/@sigstore/tuf/dist/target.js
 lib/node_modules/@sigstore/tuf/package.json
-lib/node_modules/@sigstore/tuf/store/
-lib/node_modules/@sigstore/tuf/store/public-good-instance-root.json
+lib/node_modules/@sigstore/tuf/seeds.json
+lib/node_modules/@sigstore/verify/
+lib/node_modules/@sigstore/verify/dist/
+lib/node_modules/@sigstore/verify/dist/bundle/
+lib/node_modules/@sigstore/verify/dist/bundle/dsse.js
+lib/node_modules/@sigstore/verify/dist/bundle/index.js
+lib/node_modules/@sigstore/verify/dist/bundle/message.js
+lib/node_modules/@sigstore/verify/dist/error.js
+lib/node_modules/@sigstore/verify/dist/index.js
+lib/node_modules/@sigstore/verify/dist/key/
+lib/node_modules/@sigstore/verify/dist/key/certificate.js
+lib/node_modules/@sigstore/verify/dist/key/index.js
+lib/node_modules/@sigstore/verify/dist/key/sct.js
+lib/node_modules/@sigstore/verify/dist/policy.js
+lib/node_modules/@sigstore/verify/dist/shared.types.js
+lib/node_modules/@sigstore/verify/dist/timestamp/
+lib/node_modules/@sigstore/verify/dist/timestamp/checkpoint.js
+lib/node_modules/@sigstore/verify/dist/timestamp/index.js
+lib/node_modules/@sigstore/verify/dist/timestamp/merkle.js
+lib/node_modules/@sigstore/verify/dist/timestamp/set.js
+lib/node_modules/@sigstore/verify/dist/timestamp/tsa.js
+lib/node_modules/@sigstore/verify/dist/tlog/
+lib/node_modules/@sigstore/verify/dist/tlog/dsse.js
+lib/node_modules/@sigstore/verify/dist/tlog/hashedrekord.js
+lib/node_modules/@sigstore/verify/dist/tlog/index.js
+lib/node_modules/@sigstore/verify/dist/tlog/intoto.js
+lib/node_modules/@sigstore/verify/dist/trust/
+lib/node_modules/@sigstore/verify/dist/trust/filter.js
+lib/node_modules/@sigstore/verify/dist/trust/index.js
+lib/node_modules/@sigstore/verify/dist/trust/trust.types.js
+lib/node_modules/@sigstore/verify/dist/verifier.js
+lib/node_modules/@sigstore/verify/package.json
 lib/node_modules/@tufjs/
 lib/node_modules/@tufjs/canonical-json/
 lib/node_modules/@tufjs/canonical-json/LICENSE
@@ -475,18 +579,8 @@ lib/node_modules/abbrev/LICENSE
 lib/node_modules/abbrev/lib/
 lib/node_modules/abbrev/lib/index.js
 lib/node_modules/abbrev/package.json
-lib/node_modules/abort-controller/
-lib/node_modules/abort-controller/LICENSE
-lib/node_modules/abort-controller/browser.js
-lib/node_modules/abort-controller/browser.mjs
-lib/node_modules/abort-controller/dist/
-lib/node_modules/abort-controller/dist/abort-controller.js
-lib/node_modules/abort-controller/dist/abort-controller.mjs
-lib/node_modules/abort-controller/dist/abort-controller.umd.js
-lib/node_modules/abort-controller/package.json
-lib/node_modules/abort-controller/polyfill.js
-lib/node_modules/abort-controller/polyfill.mjs
 lib/node_modules/agent-base/
+lib/node_modules/agent-base/LICENSE
 lib/node_modules/agent-base/dist/
 lib/node_modules/agent-base/dist/helpers.js
 lib/node_modules/agent-base/dist/index.js
@@ -527,11 +621,6 @@ lib/node_modules/balanced-match/
 lib/node_modules/balanced-match/LICENSE.md
 lib/node_modules/balanced-match/index.js
 lib/node_modules/balanced-match/package.json
-lib/node_modules/base64-js/
-lib/node_modules/base64-js/LICENSE
-lib/node_modules/base64-js/base64js.min.js
-lib/node_modules/base64-js/index.js
-lib/node_modules/base64-js/package.json
 lib/node_modules/bin-links/
 lib/node_modules/bin-links/LICENSE
 lib/node_modules/bin-links/lib/
@@ -560,11 +649,6 @@ lib/node_modules/brace-expansion/
 lib/node_modules/brace-expansion/LICENSE
 lib/node_modules/brace-expansion/index.js
 lib/node_modules/brace-expansion/package.json
-lib/node_modules/buffer/
-lib/node_modules/buffer/AUTHORS.md
-lib/node_modules/buffer/LICENSE
-lib/node_modules/buffer/index.js
-lib/node_modules/buffer/package.json
 lib/node_modules/builtins/
 lib/node_modules/builtins/License
 lib/node_modules/builtins/index.js
@@ -622,15 +706,6 @@ lib/node_modules/cli-columns/
 lib/node_modules/cli-columns/color.js
 lib/node_modules/cli-columns/index.js
 lib/node_modules/cli-columns/license
-lib/node_modules/cli-columns/node_modules/
-lib/node_modules/cli-columns/node_modules/ansi-regex/
-lib/node_modules/cli-columns/node_modules/ansi-regex/index.js
-lib/node_modules/cli-columns/node_modules/ansi-regex/license
-lib/node_modules/cli-columns/node_modules/ansi-regex/package.json
-lib/node_modules/cli-columns/node_modules/strip-ansi/
-lib/node_modules/cli-columns/node_modules/strip-ansi/index.js
-lib/node_modules/cli-columns/node_modules/strip-ansi/license
-lib/node_modules/cli-columns/node_modules/strip-ansi/package.json
 lib/node_modules/cli-columns/package.json
 lib/node_modules/cli-columns/test.js
 lib/node_modules/cli-table3/
@@ -676,15 +751,6 @@ lib/node_modules/columnify/LICENSE
 lib/node_modules/columnify/Makefile
 lib/node_modules/columnify/columnify.js
 lib/node_modules/columnify/index.js
-lib/node_modules/columnify/node_modules/
-lib/node_modules/columnify/node_modules/ansi-regex/
-lib/node_modules/columnify/node_modules/ansi-regex/index.js
-lib/node_modules/columnify/node_modules/ansi-regex/license
-lib/node_modules/columnify/node_modules/ansi-regex/package.json
-lib/node_modules/columnify/node_modules/strip-ansi/
-lib/node_modules/columnify/node_modules/strip-ansi/index.js
-lib/node_modules/columnify/node_modules/strip-ansi/license
-lib/node_modules/columnify/node_modules/strip-ansi/package.json
 lib/node_modules/columnify/package.json
 lib/node_modules/columnify/utils.js
 lib/node_modules/columnify/width.js
@@ -801,12 +867,6 @@ lib/node_modules/defaults/LICENSE
 lib/node_modules/defaults/index.js
 lib/node_modules/defaults/package.json
 lib/node_modules/defaults/test.js
-lib/node_modules/delegates/
-lib/node_modules/delegates/History.md
-lib/node_modules/delegates/License
-lib/node_modules/delegates/Makefile
-lib/node_modules/delegates/index.js
-lib/node_modules/delegates/package.json
 lib/node_modules/diff/
 lib/node_modules/diff/CONTRIBUTING.md
 lib/node_modules/diff/LICENSE
@@ -834,6 +894,7 @@ lib/node_modules/diff/lib/patch/apply.js
 lib/node_modules/diff/lib/patch/create.js
 lib/node_modules/diff/lib/patch/merge.js
 lib/node_modules/diff/lib/patch/parse.js
+lib/node_modules/diff/lib/patch/reverse.js
 lib/node_modules/diff/lib/util/
 lib/node_modules/diff/lib/util/array.js
 lib/node_modules/diff/lib/util/distance-iterator.js
@@ -866,44 +927,6 @@ lib/node_modules/err-code/bower.json
 lib/node_modules/err-code/index.js
 lib/node_modules/err-code/index.umd.js
 lib/node_modules/err-code/package.json
-lib/node_modules/event-target-shim/
-lib/node_modules/event-target-shim/LICENSE
-lib/node_modules/event-target-shim/dist/
-lib/node_modules/event-target-shim/dist/event-target-shim.js
-lib/node_modules/event-target-shim/dist/event-target-shim.mjs
-lib/node_modules/event-target-shim/dist/event-target-shim.umd.js
-lib/node_modules/event-target-shim/package.json
-lib/node_modules/events/
-lib/node_modules/events/.airtap.yml
-lib/node_modules/events/History.md
-lib/node_modules/events/LICENSE
-lib/node_modules/events/events.js
-lib/node_modules/events/package.json
-lib/node_modules/events/security.md
-lib/node_modules/events/tests/
-lib/node_modules/events/tests/add-listeners.js
-lib/node_modules/events/tests/check-listener-leaks.js
-lib/node_modules/events/tests/common.js
-lib/node_modules/events/tests/errors.js
-lib/node_modules/events/tests/events-list.js
-lib/node_modules/events/tests/events-once.js
-lib/node_modules/events/tests/index.js
-lib/node_modules/events/tests/legacy-compat.js
-lib/node_modules/events/tests/listener-count.js
-lib/node_modules/events/tests/listeners-side-effects.js
-lib/node_modules/events/tests/listeners.js
-lib/node_modules/events/tests/max-listeners.js
-lib/node_modules/events/tests/method-names.js
-lib/node_modules/events/tests/modify-in-emit.js
-lib/node_modules/events/tests/num-args.js
-lib/node_modules/events/tests/once.js
-lib/node_modules/events/tests/prepend.js
-lib/node_modules/events/tests/remove-all-listeners.js
-lib/node_modules/events/tests/remove-listeners.js
-lib/node_modules/events/tests/set-max-listeners-side-effects.js
-lib/node_modules/events/tests/special-event-names.js
-lib/node_modules/events/tests/subclass.js
-lib/node_modules/events/tests/symbols.js
 lib/node_modules/exponential-backoff/
 lib/node_modules/exponential-backoff/LICENSE
 lib/node_modules/exponential-backoff/dist/
@@ -974,15 +997,6 @@ lib/node_modules/gauge/lib/template-item
 lib/node_modules/gauge/lib/theme-set.js
 lib/node_modules/gauge/lib/themes.js
 lib/node_modules/gauge/lib/wide-truncate.js
-lib/node_modules/gauge/node_modules/
-lib/node_modules/gauge/node_modules/ansi-regex/
-lib/node_modules/gauge/node_modules/ansi-regex/index.js
-lib/node_modules/gauge/node_modules/ansi-regex/license
-lib/node_modules/gauge/node_modules/ansi-regex/package.json
-lib/node_modules/gauge/node_modules/strip-ansi/
-lib/node_modules/gauge/node_modules/strip-ansi/index.js
-lib/node_modules/gauge/node_modules/strip-ansi/license
-lib/node_modules/gauge/node_modules/strip-ansi/package.json
 lib/node_modules/gauge/package.json
 lib/node_modules/glob/
 lib/node_modules/glob/LICENSE
@@ -1087,6 +1101,7 @@ lib/node_modules/http-proxy-agent/dist/
 lib/node_modules/http-proxy-agent/dist/index.js
 lib/node_modules/http-proxy-agent/package.json
 lib/node_modules/https-proxy-agent/
+lib/node_modules/https-proxy-agent/LICENSE
 lib/node_modules/https-proxy-agent/dist/
 lib/node_modules/https-proxy-agent/dist/index.js
 lib/node_modules/https-proxy-agent/dist/parse-proxy-response.js
@@ -1118,10 +1133,6 @@ lib/node_modules/iconv-lite/lib/bom-hand
 lib/node_modules/iconv-lite/lib/index.js
 lib/node_modules/iconv-lite/lib/streams.js
 lib/node_modules/iconv-lite/package.json
-lib/node_modules/ieee754/
-lib/node_modules/ieee754/LICENSE
-lib/node_modules/ieee754/index.js
-lib/node_modules/ieee754/package.json
 lib/node_modules/ignore-walk/
 lib/node_modules/ignore-walk/LICENSE
 lib/node_modules/ignore-walk/lib/
@@ -1146,16 +1157,38 @@ lib/node_modules/init-package-json/lib/
 lib/node_modules/init-package-json/lib/default-input.js
 lib/node_modules/init-package-json/lib/init-package-json.js
 lib/node_modules/init-package-json/package.json
-lib/node_modules/ip/
+lib/node_modules/ip-address/
+lib/node_modules/ip-address/LICENSE
+lib/node_modules/ip-address/dist/
+lib/node_modules/ip-address/dist/address-error.js
+lib/node_modules/ip-address/dist/common.js
+lib/node_modules/ip-address/dist/ip-address.js
+lib/node_modules/ip-address/dist/ipv4.js
+lib/node_modules/ip-address/dist/ipv6.js
+lib/node_modules/ip-address/dist/v4/
+lib/node_modules/ip-address/dist/v4/constants.js
+lib/node_modules/ip-address/dist/v6/
+lib/node_modules/ip-address/dist/v6/constants.js
+lib/node_modules/ip-address/dist/v6/helpers.js
+lib/node_modules/ip-address/dist/v6/regular-expressions.js
+lib/node_modules/ip-address/node_modules/
+lib/node_modules/ip-address/node_modules/sprintf-js/
+lib/node_modules/ip-address/node_modules/sprintf-js/CONTRIBUTORS.md
+lib/node_modules/ip-address/node_modules/sprintf-js/LICENSE
+lib/node_modules/ip-address/node_modules/sprintf-js/dist/
+lib/node_modules/ip-address/node_modules/sprintf-js/dist/.gitattributes
+lib/node_modules/ip-address/node_modules/sprintf-js/dist/angular-sprintf.min.js
+lib/node_modules/ip-address/node_modules/sprintf-js/dist/sprintf.min.js
+lib/node_modules/ip-address/node_modules/sprintf-js/package.json
+lib/node_modules/ip-address/node_modules/sprintf-js/src/
+lib/node_modules/ip-address/node_modules/sprintf-js/src/angular-sprintf.js
+lib/node_modules/ip-address/node_modules/sprintf-js/src/sprintf.js
+lib/node_modules/ip-address/package.json
 lib/node_modules/ip-regex/
 lib/node_modules/ip-regex/index.js
 lib/node_modules/ip-regex/license
 lib/node_modules/ip-regex/package.json
-lib/node_modules/ip/lib/
-lib/node_modules/ip/lib/ip.js
-lib/node_modules/ip/package.json
 lib/node_modules/is-cidr/
-lib/node_modules/is-cidr/LICENSE
 lib/node_modules/is-cidr/index.js
 lib/node_modules/is-cidr/package.json
 lib/node_modules/is-core-module/
@@ -1190,6 +1223,12 @@ lib/node_modules/jackspeak/dist/esm/inde
 lib/node_modules/jackspeak/dist/esm/package.json
 lib/node_modules/jackspeak/dist/esm/parse-args.js
 lib/node_modules/jackspeak/package.json
+lib/node_modules/jsbn/
+lib/node_modules/jsbn/LICENSE
+lib/node_modules/jsbn/example.html
+lib/node_modules/jsbn/example.js
+lib/node_modules/jsbn/index.js
+lib/node_modules/jsbn/package.json
 lib/node_modules/json-parse-even-better-errors/
 lib/node_modules/json-parse-even-better-errors/LICENSE.md
 lib/node_modules/json-parse-even-better-errors/lib/
@@ -1334,32 +1373,27 @@ lib/node_modules/make-fetch-happen/packa
 lib/node_modules/minimatch/
 lib/node_modules/minimatch/LICENSE
 lib/node_modules/minimatch/dist/
-lib/node_modules/minimatch/dist/cjs/
-lib/node_modules/minimatch/dist/cjs/assert-valid-pattern.js
-lib/node_modules/minimatch/dist/cjs/ast.js
-lib/node_modules/minimatch/dist/cjs/brace-expressions.js
-lib/node_modules/minimatch/dist/cjs/escape.js
-lib/node_modules/minimatch/dist/cjs/index.js
-lib/node_modules/minimatch/dist/cjs/package.json
-lib/node_modules/minimatch/dist/cjs/unescape.js
-lib/node_modules/minimatch/dist/mjs/
-lib/node_modules/minimatch/dist/mjs/assert-valid-pattern.js
-lib/node_modules/minimatch/dist/mjs/ast.js
-lib/node_modules/minimatch/dist/mjs/brace-expressions.js
-lib/node_modules/minimatch/dist/mjs/escape.js
-lib/node_modules/minimatch/dist/mjs/index.js
-lib/node_modules/minimatch/dist/mjs/package.json
-lib/node_modules/minimatch/dist/mjs/unescape.js
+lib/node_modules/minimatch/dist/commonjs/
+lib/node_modules/minimatch/dist/commonjs/assert-valid-pattern.js
+lib/node_modules/minimatch/dist/commonjs/ast.js
+lib/node_modules/minimatch/dist/commonjs/brace-expressions.js
+lib/node_modules/minimatch/dist/commonjs/escape.js
+lib/node_modules/minimatch/dist/commonjs/index.js
+lib/node_modules/minimatch/dist/commonjs/package.json
+lib/node_modules/minimatch/dist/commonjs/unescape.js
+lib/node_modules/minimatch/dist/esm/
+lib/node_modules/minimatch/dist/esm/assert-valid-pattern.js
+lib/node_modules/minimatch/dist/esm/ast.js
+lib/node_modules/minimatch/dist/esm/brace-expressions.js
+lib/node_modules/minimatch/dist/esm/escape.js
+lib/node_modules/minimatch/dist/esm/index.js
+lib/node_modules/minimatch/dist/esm/package.json
+lib/node_modules/minimatch/dist/esm/unescape.js
 lib/node_modules/minimatch/package.json
 lib/node_modules/minipass/
 lib/node_modules/minipass-collect/
 lib/node_modules/minipass-collect/LICENSE
 lib/node_modules/minipass-collect/index.js
-lib/node_modules/minipass-collect/node_modules/
-lib/node_modules/minipass-collect/node_modules/minipass/
-lib/node_modules/minipass-collect/node_modules/minipass/LICENSE
-lib/node_modules/minipass-collect/node_modules/minipass/index.js
-lib/node_modules/minipass-collect/node_modules/minipass/package.json
 lib/node_modules/minipass-collect/package.json
 lib/node_modules/minipass-fetch/
 lib/node_modules/minipass-fetch/LICENSE
@@ -1462,6 +1496,7 @@ lib/node_modules/negotiator/lib/language
 lib/node_modules/negotiator/lib/mediaType.js
 lib/node_modules/negotiator/package.json
 lib/node_modules/node-gyp/
+lib/node_modules/node-gyp/.release-please-manifest.json
 lib/node_modules/node-gyp/CHANGELOG.md
 lib/node_modules/node-gyp/CONTRIBUTING.md
 lib/node_modules/node-gyp/LICENSE
@@ -1472,7 +1507,6 @@ lib/node_modules/node-gyp/bin/
 lib/node_modules/node-gyp/bin/node-gyp.js
 lib/node_modules/node-gyp/gyp/
 lib/node_modules/node-gyp/gyp/LICENSE
-lib/node_modules/node-gyp/gyp/README.md
 ${MODPY_COMMENT}lib/node_modules/node-gyp/gyp/${MODPY_PYCACHE}/
 lib/node_modules/node-gyp/gyp/${MODPY_PYCACHE}gyp_main.${MODPY_PYC_MAGIC_TAG}pyc
 lib/node_modules/node-gyp/gyp/${MODPY_PYCACHE}test_gyp.${MODPY_PYC_MAGIC_TAG}pyc
@@ -1625,6 +1659,7 @@ lib/node_modules/node-gyp/lib/remove.js
 lib/node_modules/node-gyp/lib/util.js
 lib/node_modules/node-gyp/macOS_Catalina_acid_test.sh
 lib/node_modules/node-gyp/package.json
+lib/node_modules/node-gyp/release-please-config.json
 lib/node_modules/node-gyp/src/
 lib/node_modules/node-gyp/src/win_delay_load_hook.cc
 lib/node_modules/node-pledge/
@@ -1722,7 +1757,6 @@ lib/node_modules/npm-registry-fetch/LICE
 lib/node_modules/npm-registry-fetch/lib/
 lib/node_modules/npm-registry-fetch/lib/auth.js
 lib/node_modules/npm-registry-fetch/lib/check-response.js
-lib/node_modules/npm-registry-fetch/lib/clean-url.js
 lib/node_modules/npm-registry-fetch/lib/default-opts.js
 lib/node_modules/npm-registry-fetch/lib/errors.js
 lib/node_modules/npm-registry-fetch/lib/index.js
@@ -1741,6 +1775,7 @@ lib/node_modules/npm/bin/node-gyp-bin/no
 lib/node_modules/npm/bin/node-gyp-bin/node-gyp.cmd
 lib/node_modules/npm/bin/npm
 lib/node_modules/npm/bin/npm-cli.js
+lib/node_modules/npm/bin/npm-prefix.js
 lib/node_modules/npm/bin/npm.cmd
 lib/node_modules/npm/bin/npm.ps1
 lib/node_modules/npm/bin/npx
@@ -1748,7 +1783,6 @@ lib/node_modules/npm/bin/npx-cli.js
 lib/node_modules/npm/bin/npx.cmd
 lib/node_modules/npm/bin/npx.ps1
 lib/node_modules/npm/docs/
-lib/node_modules/npm/docs/README.md
 lib/node_modules/npm/docs/content/
 lib/node_modules/npm/docs/content/commands/
 lib/node_modules/npm/docs/content/commands/npm-access.md
@@ -1836,6 +1870,8 @@ lib/node_modules/npm/docs/content/using-
 lib/node_modules/npm/docs/content/using-npm/scope.md
 lib/node_modules/npm/docs/content/using-npm/scripts.md
 lib/node_modules/npm/docs/content/using-npm/workspaces.md
+lib/node_modules/npm/docs/lib/
+lib/node_modules/npm/docs/lib/index.js
 lib/node_modules/npm/docs/output/
 lib/node_modules/npm/docs/output/commands/
 lib/node_modules/npm/docs/output/commands/npm-access.html
@@ -2033,7 +2069,6 @@ lib/node_modules/npm/lib/utils/queryable
 lib/node_modules/npm/lib/utils/read-user-info.js
 lib/node_modules/npm/lib/utils/reify-finish.js
 lib/node_modules/npm/lib/utils/reify-output.js
-lib/node_modules/npm/lib/utils/replace-info.js
 lib/node_modules/npm/lib/utils/sbom-cyclonedx.js
 lib/node_modules/npm/lib/utils/sbom-spdx.js
 lib/node_modules/npm/lib/utils/tar.js
@@ -2141,7 +2176,6 @@ lib/node_modules/npm/node_modules/@pkgjs
 lib/node_modules/npm/node_modules/@sigstore
 lib/node_modules/npm/node_modules/@tufjs
 lib/node_modules/npm/node_modules/abbrev
-lib/node_modules/npm/node_modules/abort-controller
 lib/node_modules/npm/node_modules/agent-base
 lib/node_modules/npm/node_modules/aggregate-error
 lib/node_modules/npm/node_modules/ansi-regex
@@ -2150,11 +2184,9 @@ lib/node_modules/npm/node_modules/aproba
 lib/node_modules/npm/node_modules/archy
 lib/node_modules/npm/node_modules/are-we-there-yet
 lib/node_modules/npm/node_modules/balanced-match
-lib/node_modules/npm/node_modules/base64-js
 lib/node_modules/npm/node_modules/bin-links
 lib/node_modules/npm/node_modules/binary-extensions
 lib/node_modules/npm/node_modules/brace-expansion
-lib/node_modules/npm/node_modules/buffer
 lib/node_modules/npm/node_modules/builtins
 lib/node_modules/npm/node_modules/cacache
 lib/node_modules/npm/node_modules/chalk
@@ -2176,15 +2208,12 @@ lib/node_modules/npm/node_modules/cross-
 lib/node_modules/npm/node_modules/cssesc
 lib/node_modules/npm/node_modules/debug
 lib/node_modules/npm/node_modules/defaults
-lib/node_modules/npm/node_modules/delegates
 lib/node_modules/npm/node_modules/diff
 lib/node_modules/npm/node_modules/eastasianwidth
 lib/node_modules/npm/node_modules/emoji-regex
 lib/node_modules/npm/node_modules/encoding
 lib/node_modules/npm/node_modules/env-paths
 lib/node_modules/npm/node_modules/err-code
-lib/node_modules/npm/node_modules/event-target-shim
-lib/node_modules/npm/node_modules/events
 lib/node_modules/npm/node_modules/exponential-backoff
 lib/node_modules/npm/node_modules/fastest-levenshtein
 lib/node_modules/npm/node_modules/foreground-child
@@ -2200,13 +2229,12 @@ lib/node_modules/npm/node_modules/http-c
 lib/node_modules/npm/node_modules/http-proxy-agent
 lib/node_modules/npm/node_modules/https-proxy-agent
 lib/node_modules/npm/node_modules/iconv-lite
-lib/node_modules/npm/node_modules/ieee754
 lib/node_modules/npm/node_modules/ignore-walk
 lib/node_modules/npm/node_modules/imurmurhash
 lib/node_modules/npm/node_modules/indent-string
 lib/node_modules/npm/node_modules/ini
 lib/node_modules/npm/node_modules/init-package-json
-lib/node_modules/npm/node_modules/ip
+lib/node_modules/npm/node_modules/ip-address
 lib/node_modules/npm/node_modules/ip-regex
 lib/node_modules/npm/node_modules/is-cidr
 lib/node_modules/npm/node_modules/is-core-module
@@ -2214,6 +2242,7 @@ lib/node_modules/npm/node_modules/is-ful
 lib/node_modules/npm/node_modules/is-lambda
 lib/node_modules/npm/node_modules/isexe
 lib/node_modules/npm/node_modules/jackspeak
+lib/node_modules/npm/node_modules/jsbn
 lib/node_modules/npm/node_modules/json-parse-even-better-errors
 lib/node_modules/npm/node_modules/json-stringify-nice
 lib/node_modules/npm/node_modules/jsonparse
@@ -2267,7 +2296,6 @@ lib/node_modules/npm/node_modules/path-k
 lib/node_modules/npm/node_modules/path-scurry
 lib/node_modules/npm/node_modules/postcss-selector-parser
 lib/node_modules/npm/node_modules/proc-log
-lib/node_modules/npm/node_modules/process
 lib/node_modules/npm/node_modules/promise-all-reject-late
 lib/node_modules/npm/node_modules/promise-call-limit
 lib/node_modules/npm/node_modules/promise-inflight
@@ -2278,9 +2306,7 @@ lib/node_modules/npm/node_modules/read
 lib/node_modules/npm/node_modules/read-cmd-shim
 lib/node_modules/npm/node_modules/read-package-json
 lib/node_modules/npm/node_modules/read-package-json-fast
-lib/node_modules/npm/node_modules/readable-stream
 lib/node_modules/npm/node_modules/retry
-lib/node_modules/npm/node_modules/safe-buffer
 lib/node_modules/npm/node_modules/safer-buffer
 lib/node_modules/npm/node_modules/semver
 lib/node_modules/npm/node_modules/set-blocking
@@ -2298,7 +2324,6 @@ lib/node_modules/npm/node_modules/spdx-l
 lib/node_modules/npm/node_modules/ssri
 lib/node_modules/npm/node_modules/string-width
 lib/node_modules/npm/node_modules/string-width-cjs
-lib/node_modules/npm/node_modules/string_decoder
 lib/node_modules/npm/node_modules/strip-ansi
 lib/node_modules/npm/node_modules/strip-ansi-cjs
 lib/node_modules/npm/node_modules/supports-color
@@ -2362,12 +2387,12 @@ lib/node_modules/path-key/package.json
 lib/node_modules/path-scurry/
 lib/node_modules/path-scurry/LICENSE.md
 lib/node_modules/path-scurry/dist/
-lib/node_modules/path-scurry/dist/cjs/
-lib/node_modules/path-scurry/dist/cjs/index.js
-lib/node_modules/path-scurry/dist/cjs/package.json
-lib/node_modules/path-scurry/dist/mjs/
-lib/node_modules/path-scurry/dist/mjs/index.js
-lib/node_modules/path-scurry/dist/mjs/package.json
+lib/node_modules/path-scurry/dist/commonjs/
+lib/node_modules/path-scurry/dist/commonjs/index.js
+lib/node_modules/path-scurry/dist/commonjs/package.json
+lib/node_modules/path-scurry/dist/esm/
+lib/node_modules/path-scurry/dist/esm/index.js
+lib/node_modules/path-scurry/dist/esm/package.json
 lib/node_modules/path-scurry/package.json
 lib/node_modules/postcss-selector-parser/
 lib/node_modules/postcss-selector-parser/API.md
@@ -2411,19 +2436,19 @@ lib/node_modules/proc-log/LICENSE
 lib/node_modules/proc-log/lib/
 lib/node_modules/proc-log/lib/index.js
 lib/node_modules/proc-log/package.json
-lib/node_modules/process/
-lib/node_modules/process/LICENSE
-lib/node_modules/process/browser.js
-lib/node_modules/process/index.js
-lib/node_modules/process/package.json
-lib/node_modules/process/test.js
 lib/node_modules/promise-all-reject-late/
 lib/node_modules/promise-all-reject-late/LICENSE
 lib/node_modules/promise-all-reject-late/index.js
 lib/node_modules/promise-all-reject-late/package.json
 lib/node_modules/promise-call-limit/
 lib/node_modules/promise-call-limit/LICENSE
-lib/node_modules/promise-call-limit/index.js
+lib/node_modules/promise-call-limit/dist/
+lib/node_modules/promise-call-limit/dist/commonjs/
+lib/node_modules/promise-call-limit/dist/commonjs/index.js
+lib/node_modules/promise-call-limit/dist/commonjs/package.json
+lib/node_modules/promise-call-limit/dist/esm/
+lib/node_modules/promise-call-limit/dist/esm/index.js
+lib/node_modules/promise-call-limit/dist/esm/package.json
 lib/node_modules/promise-call-limit/package.json
 lib/node_modules/promise-inflight/
 lib/node_modules/promise-inflight/LICENSE
@@ -2481,48 +2506,14 @@ lib/node_modules/read-package-json/lib/
 lib/node_modules/read-package-json/lib/read-json.js
 lib/node_modules/read-package-json/package.json
 lib/node_modules/read/LICENSE
-lib/node_modules/read/lib/
-lib/node_modules/read/lib/read.js
+lib/node_modules/read/dist/
+lib/node_modules/read/dist/commonjs/
+lib/node_modules/read/dist/commonjs/package.json
+lib/node_modules/read/dist/commonjs/read.js
+lib/node_modules/read/dist/esm/
+lib/node_modules/read/dist/esm/package.json
+lib/node_modules/read/dist/esm/read.js
 lib/node_modules/read/package.json
-lib/node_modules/readable-stream/
-lib/node_modules/readable-stream/LICENSE
-lib/node_modules/readable-stream/lib/
-lib/node_modules/readable-stream/lib/_stream_duplex.js
-lib/node_modules/readable-stream/lib/_stream_passthrough.js
-lib/node_modules/readable-stream/lib/_stream_readable.js
-lib/node_modules/readable-stream/lib/_stream_transform.js
-lib/node_modules/readable-stream/lib/_stream_writable.js
-lib/node_modules/readable-stream/lib/internal/
-lib/node_modules/readable-stream/lib/internal/streams/
-lib/node_modules/readable-stream/lib/internal/streams/add-abort-signal.js
-lib/node_modules/readable-stream/lib/internal/streams/buffer_list.js
-lib/node_modules/readable-stream/lib/internal/streams/compose.js
-lib/node_modules/readable-stream/lib/internal/streams/destroy.js
-lib/node_modules/readable-stream/lib/internal/streams/duplex.js
-lib/node_modules/readable-stream/lib/internal/streams/duplexify.js
-lib/node_modules/readable-stream/lib/internal/streams/end-of-stream.js
-lib/node_modules/readable-stream/lib/internal/streams/from.js
-lib/node_modules/readable-stream/lib/internal/streams/lazy_transform.js
-lib/node_modules/readable-stream/lib/internal/streams/legacy.js
-lib/node_modules/readable-stream/lib/internal/streams/operators.js
-lib/node_modules/readable-stream/lib/internal/streams/passthrough.js
-lib/node_modules/readable-stream/lib/internal/streams/pipeline.js
-lib/node_modules/readable-stream/lib/internal/streams/readable.js
-lib/node_modules/readable-stream/lib/internal/streams/state.js
-lib/node_modules/readable-stream/lib/internal/streams/transform.js
-lib/node_modules/readable-stream/lib/internal/streams/utils.js
-lib/node_modules/readable-stream/lib/internal/streams/writable.js
-lib/node_modules/readable-stream/lib/internal/validators.js
-lib/node_modules/readable-stream/lib/ours/
-lib/node_modules/readable-stream/lib/ours/browser.js
-lib/node_modules/readable-stream/lib/ours/errors.js
-lib/node_modules/readable-stream/lib/ours/index.js
-lib/node_modules/readable-stream/lib/ours/primordials.js
-lib/node_modules/readable-stream/lib/ours/util.js
-lib/node_modules/readable-stream/lib/stream/
-lib/node_modules/readable-stream/lib/stream.js
-lib/node_modules/readable-stream/lib/stream/promises.js
-lib/node_modules/readable-stream/package.json
 lib/node_modules/retry/
 lib/node_modules/retry/License
 lib/node_modules/retry/Makefile
@@ -2535,10 +2526,6 @@ lib/node_modules/retry/lib/
 lib/node_modules/retry/lib/retry.js
 lib/node_modules/retry/lib/retry_operation.js
 lib/node_modules/retry/package.json
-lib/node_modules/safe-buffer/
-lib/node_modules/safe-buffer/LICENSE
-lib/node_modules/safe-buffer/index.js
-lib/node_modules/safe-buffer/package.json
 lib/node_modules/safer-buffer/
 lib/node_modules/safer-buffer/LICENSE
 lib/node_modules/safer-buffer/Porting-Buffer.md
@@ -2637,49 +2624,9 @@ lib/node_modules/signal-exit/package.jso
 lib/node_modules/sigstore/
 lib/node_modules/sigstore/LICENSE
 lib/node_modules/sigstore/dist/
-lib/node_modules/sigstore/dist/ca/
-lib/node_modules/sigstore/dist/ca/verify/
-lib/node_modules/sigstore/dist/ca/verify/chain.js
-lib/node_modules/sigstore/dist/ca/verify/index.js
-lib/node_modules/sigstore/dist/ca/verify/sct.js
-lib/node_modules/sigstore/dist/ca/verify/signer.js
 lib/node_modules/sigstore/dist/config.js
-lib/node_modules/sigstore/dist/error.js
 lib/node_modules/sigstore/dist/index.js
 lib/node_modules/sigstore/dist/sigstore.js
-lib/node_modules/sigstore/dist/tlog/
-lib/node_modules/sigstore/dist/tlog/verify/
-lib/node_modules/sigstore/dist/tlog/verify/body.js
-lib/node_modules/sigstore/dist/tlog/verify/checkpoint.js
-lib/node_modules/sigstore/dist/tlog/verify/index.js
-lib/node_modules/sigstore/dist/tlog/verify/merkle.js
-lib/node_modules/sigstore/dist/tlog/verify/set.js
-lib/node_modules/sigstore/dist/types/
-lib/node_modules/sigstore/dist/types/fetch.js
-lib/node_modules/sigstore/dist/types/sigstore.js
-lib/node_modules/sigstore/dist/types/utility.js
-lib/node_modules/sigstore/dist/util/
-lib/node_modules/sigstore/dist/util/asn1/
-lib/node_modules/sigstore/dist/util/asn1/dump.js
-lib/node_modules/sigstore/dist/util/asn1/error.js
-lib/node_modules/sigstore/dist/util/asn1/index.js
-lib/node_modules/sigstore/dist/util/asn1/length.js
-lib/node_modules/sigstore/dist/util/asn1/obj.js
-lib/node_modules/sigstore/dist/util/asn1/parse.js
-lib/node_modules/sigstore/dist/util/asn1/tag.js
-lib/node_modules/sigstore/dist/util/crypto.js
-lib/node_modules/sigstore/dist/util/dsse.js
-lib/node_modules/sigstore/dist/util/encoding.js
-lib/node_modules/sigstore/dist/util/index.js
-lib/node_modules/sigstore/dist/util/json.js
-lib/node_modules/sigstore/dist/util/pem.js
-lib/node_modules/sigstore/dist/util/stream.js
-lib/node_modules/sigstore/dist/verify.js
-lib/node_modules/sigstore/dist/x509/
-lib/node_modules/sigstore/dist/x509/cert.js
-lib/node_modules/sigstore/dist/x509/ext.js
-lib/node_modules/sigstore/dist/x509/sct.js
-lib/node_modules/sigstore/dist/x509/verify.js
 lib/node_modules/sigstore/package.json
 lib/node_modules/smart-buffer/
 lib/node_modules/smart-buffer/LICENSE
@@ -2691,6 +2638,7 @@ lib/node_modules/smart-buffer/docs/ROADM
 lib/node_modules/smart-buffer/package.json
 lib/node_modules/socks/
 lib/node_modules/socks-proxy-agent/
+lib/node_modules/socks-proxy-agent/LICENSE
 lib/node_modules/socks-proxy-agent/dist/
 lib/node_modules/socks-proxy-agent/dist/index.js
 lib/node_modules/socks-proxy-agent/package.json
@@ -2721,8 +2669,17 @@ lib/node_modules/socks/package.json
 lib/node_modules/spdx-correct/
 lib/node_modules/spdx-correct/LICENSE
 lib/node_modules/spdx-correct/index.js
+lib/node_modules/spdx-correct/node_modules/
+lib/node_modules/spdx-correct/node_modules/spdx-expression-parse/
+lib/node_modules/spdx-correct/node_modules/spdx-expression-parse/AUTHORS
+lib/node_modules/spdx-correct/node_modules/spdx-expression-parse/LICENSE
+lib/node_modules/spdx-correct/node_modules/spdx-expression-parse/index.js
+lib/node_modules/spdx-correct/node_modules/spdx-expression-parse/package.json
+lib/node_modules/spdx-correct/node_modules/spdx-expression-parse/parse.js
+lib/node_modules/spdx-correct/node_modules/spdx-expression-parse/scan.js
 lib/node_modules/spdx-correct/package.json
 lib/node_modules/spdx-exceptions/
+lib/node_modules/spdx-exceptions/deprecated.json
 lib/node_modules/spdx-exceptions/index.json
 lib/node_modules/spdx-exceptions/package.json
 lib/node_modules/spdx-expression-parse/
@@ -2745,42 +2702,14 @@ lib/node_modules/string-width/
 lib/node_modules/string-width-cjs/
 lib/node_modules/string-width-cjs/index.js
 lib/node_modules/string-width-cjs/license
-lib/node_modules/string-width-cjs/node_modules/
-lib/node_modules/string-width-cjs/node_modules/ansi-regex/
-lib/node_modules/string-width-cjs/node_modules/ansi-regex/index.js
-lib/node_modules/string-width-cjs/node_modules/ansi-regex/license
-lib/node_modules/string-width-cjs/node_modules/ansi-regex/package.json
-lib/node_modules/string-width-cjs/node_modules/strip-ansi/
-lib/node_modules/string-width-cjs/node_modules/strip-ansi/index.js
-lib/node_modules/string-width-cjs/node_modules/strip-ansi/license
-lib/node_modules/string-width-cjs/node_modules/strip-ansi/package.json
 lib/node_modules/string-width-cjs/package.json
 lib/node_modules/string-width/index.js
 lib/node_modules/string-width/license
-lib/node_modules/string-width/node_modules/
-lib/node_modules/string-width/node_modules/ansi-regex/
-lib/node_modules/string-width/node_modules/ansi-regex/index.js
-lib/node_modules/string-width/node_modules/ansi-regex/license
-lib/node_modules/string-width/node_modules/ansi-regex/package.json
-lib/node_modules/string-width/node_modules/strip-ansi/
-lib/node_modules/string-width/node_modules/strip-ansi/index.js
-lib/node_modules/string-width/node_modules/strip-ansi/license
-lib/node_modules/string-width/node_modules/strip-ansi/package.json
 lib/node_modules/string-width/package.json
-lib/node_modules/string_decoder/
-lib/node_modules/string_decoder/LICENSE
-lib/node_modules/string_decoder/lib/
-lib/node_modules/string_decoder/lib/string_decoder.js
-lib/node_modules/string_decoder/package.json
 lib/node_modules/strip-ansi/
 lib/node_modules/strip-ansi-cjs/
 lib/node_modules/strip-ansi-cjs/index.js
 lib/node_modules/strip-ansi-cjs/license
-lib/node_modules/strip-ansi-cjs/node_modules/
-lib/node_modules/strip-ansi-cjs/node_modules/ansi-regex/
-lib/node_modules/strip-ansi-cjs/node_modules/ansi-regex/index.js
-lib/node_modules/strip-ansi-cjs/node_modules/ansi-regex/license
-lib/node_modules/strip-ansi-cjs/node_modules/ansi-regex/package.json
 lib/node_modules/strip-ansi-cjs/package.json
 lib/node_modules/strip-ansi/index.js
 lib/node_modules/strip-ansi/license
@@ -2900,6 +2829,14 @@ lib/node_modules/util-deprecate/package.
 lib/node_modules/validate-npm-package-license/
 lib/node_modules/validate-npm-package-license/LICENSE
 lib/node_modules/validate-npm-package-license/index.js
+lib/node_modules/validate-npm-package-license/node_modules/
+lib/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/
+lib/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/AUTHORS
+lib/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/LICENSE
+lib/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/index.js
+lib/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/package.json
+lib/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/parse.js
+lib/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/scan.js
 lib/node_modules/validate-npm-package-license/package.json
 lib/node_modules/validate-npm-package-name/
 lib/node_modules/validate-npm-package-name/LICENSE
@@ -2957,22 +2894,18 @@ lib/node_modules/wrap-ansi-cjs/
 lib/node_modules/wrap-ansi-cjs/index.js
 lib/node_modules/wrap-ansi-cjs/license
 lib/node_modules/wrap-ansi-cjs/node_modules/
-lib/node_modules/wrap-ansi-cjs/node_modules/ansi-regex/
-lib/node_modules/wrap-ansi-cjs/node_modules/ansi-regex/index.js
-lib/node_modules/wrap-ansi-cjs/node_modules/ansi-regex/license
-lib/node_modules/wrap-ansi-cjs/node_modules/ansi-regex/package.json
 lib/node_modules/wrap-ansi-cjs/node_modules/ansi-styles/
 lib/node_modules/wrap-ansi-cjs/node_modules/ansi-styles/index.js
 lib/node_modules/wrap-ansi-cjs/node_modules/ansi-styles/license
 lib/node_modules/wrap-ansi-cjs/node_modules/ansi-styles/package.json
-lib/node_modules/wrap-ansi-cjs/node_modules/strip-ansi/
-lib/node_modules/wrap-ansi-cjs/node_modules/strip-ansi/index.js
-lib/node_modules/wrap-ansi-cjs/node_modules/strip-ansi/license
-lib/node_modules/wrap-ansi-cjs/node_modules/strip-ansi/package.json
 lib/node_modules/wrap-ansi-cjs/package.json
 lib/node_modules/wrap-ansi/index.js
 lib/node_modules/wrap-ansi/license
 lib/node_modules/wrap-ansi/node_modules/
+lib/node_modules/wrap-ansi/node_modules/ansi-regex/
+lib/node_modules/wrap-ansi/node_modules/ansi-regex/index.js
+lib/node_modules/wrap-ansi/node_modules/ansi-regex/license
+lib/node_modules/wrap-ansi/node_modules/ansi-regex/package.json
 lib/node_modules/wrap-ansi/node_modules/emoji-regex/
 lib/node_modules/wrap-ansi/node_modules/emoji-regex/LICENSE-MIT.txt
 lib/node_modules/wrap-ansi/node_modules/emoji-regex/RGI_Emoji.js
@@ -2987,6 +2920,10 @@ lib/node_modules/wrap-ansi/node_modules/
 lib/node_modules/wrap-ansi/node_modules/string-width/index.js
 lib/node_modules/wrap-ansi/node_modules/string-width/license
 lib/node_modules/wrap-ansi/node_modules/string-width/package.json
+lib/node_modules/wrap-ansi/node_modules/strip-ansi/
+lib/node_modules/wrap-ansi/node_modules/strip-ansi/index.js
+lib/node_modules/wrap-ansi/node_modules/strip-ansi/license
+lib/node_modules/wrap-ansi/node_modules/strip-ansi/package.json
 lib/node_modules/wrap-ansi/package.json
 lib/node_modules/write-file-atomic/
 lib/node_modules/write-file-atomic/LICENSE.md
@@ -3004,6 +2941,3 @@ share/doc/node/gdbinit
 share/doc/node/lldb_commands.py
 share/node/
 share/node/${DISTNAME}-headers.tar.gz
-share/systemtap/
-share/systemtap/tapset/
-share/systemtap/tapset/node.stp