diff --git a/DEPS b/DEPS index 921a7bf15aaa7..1f24a90613232 100644 --- a/DEPS +++ b/DEPS @@ -4,7 +4,7 @@ vars = { 'chromium_version': '120.0.6099.5', 'node_version': - 'v18.18.0', + 'v18.18.1', 'nan_version': 'e14bdcd1f72d62bca1d541b66da43130384ec213', 'squirrel.mac_version': diff --git a/patches/node/build_add_gn_build_files.patch b/patches/node/build_add_gn_build_files.patch index f6e80f00a1169..cff0736ad65f4 100644 --- a/patches/node/build_add_gn_build_files.patch +++ b/patches/node/build_add_gn_build_files.patch @@ -929,10 +929,10 @@ index 0000000000000000000000000000000000000000..bfbd4e656db1a6c73048443f96f1d576 +} diff --git a/deps/uv/BUILD.gn b/deps/uv/BUILD.gn new file mode 100644 -index 0000000000000000000000000000000000000000..ae4d3bf68882f1aa6d7440448050fbdd9a17dca7 +index 0000000000000000000000000000000000000000..29e66144dbb67704bad0d78c4b3f5713537c7987 --- /dev/null +++ b/deps/uv/BUILD.gn -@@ -0,0 +1,194 @@ +@@ -0,0 +1,197 @@ +config("libuv_config") { + include_dirs = [ "include" ] + @@ -1005,7 +1005,6 @@ index 0000000000000000000000000000000000000000..ae4d3bf68882f1aa6d7440448050fbdd + "src/strscpy.h", + "src/strtok.c", + "src/strtok.h", -+ "src/thread-common.c", + "src/threadpool.c", + "src/timer.c", + "src/uv-common.c", @@ -1110,7 +1109,11 @@ index 0000000000000000000000000000000000000000..ae4d3bf68882f1aa6d7440448050fbdd + if (is_linux) { + defines += [ "_GNU_SOURCE" ] + sources += [ -+ "src/unix/linux.c", ++ "src/unix/epoll.c", ++ "src/unix/linux-core.c", ++ "src/unix/linux-inotify.c", ++ "src/unix/linux-syscalls.c", ++ "src/unix/linux-syscalls.h", + "src/unix/procfs-exepath.c", + "src/unix/random-getrandom.c", + "src/unix/random-sysctl-linux.c", @@ -1173,10 +1176,10 @@ index 0000000000000000000000000000000000000000..2c9d2826c85bdd033f1df1d6188df636 +} diff --git a/filenames.json b/filenames.json new file mode 100644 -index 0000000000000000000000000000000000000000..12d4706fae0d8253db8de1fc2c4e31a6380cc122 +index 0000000000000000000000000000000000000000..7d86765bf229275ba55d37a452ef24832a7afadb --- /dev/null +++ b/filenames.json -@@ -0,0 +1,663 @@ +@@ -0,0 +1,664 @@ +// This file is automatically generated by generate_gn_filenames_json.py +// DO NOT EDIT +{ @@ -1290,6 +1293,7 @@ index 0000000000000000000000000000000000000000..12d4706fae0d8253db8de1fc2c4e31a6 + "deps/uv/include/uv/linux.h", + "deps/uv/include/uv/os390.h", + "deps/uv/include/uv/posix.h", ++ "deps/uv/include/uv/stdint-msvc2008.h", + "deps/uv/include/uv/sunos.h", + "deps/uv/include/uv/threadpool.h", + "deps/uv/include/uv/tree.h", @@ -2100,7 +2104,7 @@ index 0000000000000000000000000000000000000000..4ab828dcbf322a9e28674e48c4a6868b + args = rebase_path(inputs + outputs, root_build_dir) +} diff --git a/src/node_version.h b/src/node_version.h -index 7e90c796f3bd076048a2114a1ba31db7ee876440..60a17104e0b1b19038efc1a1468ee92642d3ffd6 100644 +index ac1fc294a412b1a63b6f6bb4c49cd5ce34fb8ad7..eaa480cd63217dc9cd6868dff411932adef4ef08 100644 --- a/src/node_version.h +++ b/src/node_version.h @@ -89,7 +89,10 @@ diff --git a/patches/node/feat_add_uv_loop_interrupt_on_io_change_option_to_uv_loop_configure.patch b/patches/node/feat_add_uv_loop_interrupt_on_io_change_option_to_uv_loop_configure.patch index e69a544c88504..4e4138a150fac 100644 --- a/patches/node/feat_add_uv_loop_interrupt_on_io_change_option_to_uv_loop_configure.patch +++ b/patches/node/feat_add_uv_loop_interrupt_on_io_change_option_to_uv_loop_configure.patch @@ -26,10 +26,10 @@ index 0f5ddfb3ca21b7e5b38d0a4ce4b9e77387597199..ba815202fb157aa82859ec0518523cf6 .. c:function:: int uv_loop_close(uv_loop_t* loop) diff --git a/deps/uv/include/uv.h b/deps/uv/include/uv.h -index 02397dd0fdd43d51f86c0dde9a62046702f12bdb..3375600023e39ddacf62cc17deb4f206db942084 100644 +index ee1c94ccd389915ea7572cce044256a7788025ad..d31abf714d5d1433ec8473ccb1aae3b6615c477a 100644 --- a/deps/uv/include/uv.h +++ b/deps/uv/include/uv.h -@@ -260,7 +260,8 @@ typedef struct uv_metrics_s uv_metrics_t; +@@ -252,7 +252,8 @@ typedef struct uv_statfs_s uv_statfs_t; typedef enum { UV_LOOP_BLOCK_SIGNAL = 0, @@ -40,7 +40,7 @@ index 02397dd0fdd43d51f86c0dde9a62046702f12bdb..3375600023e39ddacf62cc17deb4f206 typedef enum { diff --git a/deps/uv/src/unix/async.c b/deps/uv/src/unix/async.c -index 0ff2669e30a628dbb2df9e28ba14b38cf14114e5..679b17bda476d2a9c072ce8261234f837b56422f 100644 +index e1805c323795e5b0c465d80100eebeb7bf838caa..dd4358c0cdaa97ba8fadf4d9755993803beddd18 100644 --- a/deps/uv/src/unix/async.c +++ b/deps/uv/src/unix/async.c @@ -38,7 +38,6 @@ @@ -49,18 +49,18 @@ index 0ff2669e30a628dbb2df9e28ba14b38cf14114e5..679b17bda476d2a9c072ce8261234f83 -static void uv__async_send(uv_loop_t* loop); static int uv__async_start(uv_loop_t* loop); - static void uv__cpu_relax(void); -@@ -78,7 +77,7 @@ int uv_async_send(uv_async_t* handle) { + +@@ -70,7 +69,7 @@ int uv_async_send(uv_async_t* handle) { + return 0; /* Wake up the other thread's event loop. */ - if (atomic_exchange(pending, 1) == 0) -- uv__async_send(handle->loop); -+ uv__loop_interrupt(handle->loop); +- uv__async_send(handle->loop); ++ uv__loop_interrupt(handle->loop); - /* Set the loop to not-busy. */ - atomic_fetch_add(busy, -1); -@@ -178,40 +177,6 @@ static void uv__async_io(uv_loop_t* loop, uv__io_t* w, unsigned int events) { + /* Tell the other thread we're done. */ + if (cmpxchgi(&handle->pending, 1, 2) != 1) +@@ -165,40 +164,6 @@ static void uv__async_io(uv_loop_t* loop, uv__io_t* w, unsigned int events) { } @@ -102,10 +102,10 @@ index 0ff2669e30a628dbb2df9e28ba14b38cf14114e5..679b17bda476d2a9c072ce8261234f83 int pipefd[2]; int err; diff --git a/deps/uv/src/unix/core.c b/deps/uv/src/unix/core.c -index 25c5181f370e94983e8a5f797f02f7a8dc207e00..f4d9059796d2c65339a5d48ecb273b09d9364d21 100644 +index 54c769f37f2331136c87a37c13fb4e3f9a8f22f9..ac52ab79a5fc3050effd2b1f2f605cee9b1ab336 100644 --- a/deps/uv/src/unix/core.c +++ b/deps/uv/src/unix/core.c -@@ -926,6 +926,9 @@ void uv__io_start(uv_loop_t* loop, uv__io_t* w, unsigned int events) { +@@ -900,6 +900,9 @@ void uv__io_start(uv_loop_t* loop, uv__io_t* w, unsigned int events) { loop->watchers[w->fd] = w; loop->nfds++; } @@ -115,20 +115,20 @@ index 25c5181f370e94983e8a5f797f02f7a8dc207e00..f4d9059796d2c65339a5d48ecb273b09 } -@@ -957,6 +960,9 @@ void uv__io_stop(uv_loop_t* loop, uv__io_t* w, unsigned int events) { +@@ -931,6 +934,9 @@ void uv__io_stop(uv_loop_t* loop, uv__io_t* w, unsigned int events) { } - else if (uv__queue_empty(&w->watcher_queue)) - uv__queue_insert_tail(&loop->watcher_queue, &w->watcher_queue); + else if (QUEUE_EMPTY(&w->watcher_queue)) + QUEUE_INSERT_TAIL(&loop->watcher_queue, &w->watcher_queue); + + if (uv__get_internal_fields(loop)->flags & UV_LOOP_INTERRUPT_ON_IO_CHANGE) + uv__loop_interrupt(loop); } -@@ -973,6 +979,9 @@ void uv__io_close(uv_loop_t* loop, uv__io_t* w) { +@@ -947,6 +953,9 @@ void uv__io_close(uv_loop_t* loop, uv__io_t* w) { void uv__io_feed(uv_loop_t* loop, uv__io_t* w) { - if (uv__queue_empty(&w->pending_queue)) - uv__queue_insert_tail(&loop->pending_queue, &w->pending_queue); + if (QUEUE_EMPTY(&w->pending_queue)) + QUEUE_INSERT_TAIL(&loop->pending_queue, &w->pending_queue); + + if (uv__get_internal_fields(loop)->flags & UV_LOOP_INTERRUPT_ON_IO_CHANGE) + uv__loop_interrupt(loop); @@ -136,7 +136,7 @@ index 25c5181f370e94983e8a5f797f02f7a8dc207e00..f4d9059796d2c65339a5d48ecb273b09 diff --git a/deps/uv/src/unix/loop.c b/deps/uv/src/unix/loop.c -index a9468e8e19cbede795032980c47eb83aee1e0c68..2d28cf48efc3718de19b901b7e08b8a857d20740 100644 +index a88e71c339351f2ebcdd6c3f933fc3b1122910ed..46fc03264b6cc1a3a4d8faf5ec5a754fc07c9b6d 100644 --- a/deps/uv/src/unix/loop.c +++ b/deps/uv/src/unix/loop.c @@ -217,6 +217,11 @@ int uv__loop_configure(uv_loop_t* loop, uv_loop_option option, va_list ap) { @@ -193,10 +193,10 @@ index a9468e8e19cbede795032980c47eb83aee1e0c68..2d28cf48efc3718de19b901b7e08b8a8 + abort(); +} diff --git a/deps/uv/src/uv-common.h b/deps/uv/src/uv-common.h -index cd57e5a35153d0557351b60cce0c5be7a4468b60..660caef30b1637b8009de5e55ee34f48d17e4dd0 100644 +index 6001b0cf68d0b0268b578218b664a737f43c9521..5d2212571f4bcb648ab332f0c5650d0fdb37c03a 100644 --- a/deps/uv/src/uv-common.h +++ b/deps/uv/src/uv-common.h -@@ -144,6 +144,8 @@ int uv__loop_configure(uv_loop_t* loop, uv_loop_option option, va_list ap); +@@ -140,6 +140,8 @@ int uv__loop_configure(uv_loop_t* loop, uv_loop_option option, va_list ap); void uv__loop_close(uv_loop_t* loop); @@ -205,7 +205,7 @@ index cd57e5a35153d0557351b60cce0c5be7a4468b60..660caef30b1637b8009de5e55ee34f48 int uv__read_start(uv_stream_t* stream, uv_alloc_cb alloc_cb, uv_read_cb read_cb); -@@ -280,6 +282,10 @@ void uv__threadpool_cleanup(void); +@@ -268,6 +270,10 @@ void uv__threadpool_cleanup(void); if (((h)->flags & UV_HANDLE_ACTIVE) != 0) break; \ (h)->flags |= UV_HANDLE_ACTIVE; \ if (((h)->flags & UV_HANDLE_REF) != 0) uv__active_handle_add(h); \ @@ -217,7 +217,7 @@ index cd57e5a35153d0557351b60cce0c5be7a4468b60..660caef30b1637b8009de5e55ee34f48 while (0) diff --git a/deps/uv/src/win/core.c b/deps/uv/src/win/core.c -index e9885a0f1ff3890a8d957c8793e22b01cedc0e97..ae3d09878253fe7169ad7b74b3faea0223f89de5 100644 +index 67af93e6571ed4324d80b6dfb2ff93db7b9cd9b1..e88008b6a288d1508c5c117d814000d63cab81c3 100644 --- a/deps/uv/src/win/core.c +++ b/deps/uv/src/win/core.c @@ -384,10 +384,20 @@ int uv__loop_configure(uv_loop_t* loop, uv_loop_option option, va_list ap) { @@ -242,7 +242,7 @@ index e9885a0f1ff3890a8d957c8793e22b01cedc0e97..ae3d09878253fe7169ad7b74b3faea02 return -1; } diff --git a/deps/uv/test/test-embed.c b/deps/uv/test/test-embed.c -index bbe56e176db17a502d7f3864ba529212f553590a..b0da9d1cddc69428e9fb3379d1338cf893ab93d2 100644 +index 1d3355fdc67310feb63738c9e30724f0e77f7895..77a63dbb4d188b2ad571c814dbc6cbc6fe5fa205 100644 --- a/deps/uv/test/test-embed.c +++ b/deps/uv/test/test-embed.c @@ -25,54 +25,184 @@ @@ -463,13 +463,13 @@ index bbe56e176db17a502d7f3864ba529212f553590a..b0da9d1cddc69428e9fb3379d1338cf8 + run_loop(); + ASSERT_EQ(main_timer_called, 1); - MAKE_VALGRIND_HAPPY(loop); + MAKE_VALGRIND_HAPPY(); return 0; diff --git a/deps/uv/test/test-list.h b/deps/uv/test/test-list.h -index 78ff9c2d1621676feab5d357609970cdf1ba5864..204160f324ad1a80c9b042e62c4bedcb745666ba 100644 +index b19c10c7e40c77061337416fd623c53d0863d276..1f54ac21c36902bccb35c64cefa8bb14dd675bb0 100644 --- a/deps/uv/test/test-list.h +++ b/deps/uv/test/test-list.h -@@ -273,6 +273,7 @@ TEST_DECLARE (process_priority) +@@ -265,6 +265,7 @@ TEST_DECLARE (process_priority) TEST_DECLARE (has_ref) TEST_DECLARE (active) TEST_DECLARE (embed) @@ -477,7 +477,7 @@ index 78ff9c2d1621676feab5d357609970cdf1ba5864..204160f324ad1a80c9b042e62c4bedcb TEST_DECLARE (async) TEST_DECLARE (async_null_cb) TEST_DECLARE (eintr_handling) -@@ -894,6 +895,7 @@ TASK_LIST_START +@@ -867,6 +868,7 @@ TASK_LIST_START TEST_ENTRY (active) TEST_ENTRY (embed) diff --git a/patches/node/fix_suppress_clang_-wdeprecated-declarations_in_libuv.patch b/patches/node/fix_suppress_clang_-wdeprecated-declarations_in_libuv.patch index 391271a50ffac..0c287b3ad3d55 100644 --- a/patches/node/fix_suppress_clang_-wdeprecated-declarations_in_libuv.patch +++ b/patches/node/fix_suppress_clang_-wdeprecated-declarations_in_libuv.patch @@ -6,10 +6,10 @@ Subject: fix: suppress clang -Wdeprecated-declarations in libuv Should be upstreamed. diff --git a/deps/uv/src/win/util.c b/deps/uv/src/win/util.c -index f6ec79cd57b5010ed5fd6829d952bcdacc8b7671..5cda078a55f7825d135a107fa98e1aa3527dd147 100644 +index 99432053cc3b242e514268b7aba2e2d83a9e64f2..750a5424953aad104ba1e865fefd55d316485917 100644 --- a/deps/uv/src/win/util.c +++ b/deps/uv/src/win/util.c -@@ -1685,10 +1685,17 @@ int uv_os_uname(uv_utsname_t* buffer) { +@@ -1743,10 +1743,17 @@ int uv_os_uname(uv_utsname_t* buffer) { #ifdef _MSC_VER #pragma warning(suppress : 4996) #endif diff --git a/patches/node/win_process_avoid_assert_after_spawning_store_app_4152.patch b/patches/node/win_process_avoid_assert_after_spawning_store_app_4152.patch index ff3ed47f1d9db..5f0178fb5f56c 100644 --- a/patches/node/win_process_avoid_assert_after_spawning_store_app_4152.patch +++ b/patches/node/win_process_avoid_assert_after_spawning_store_app_4152.patch @@ -18,10 +18,10 @@ as launch more jobs or exit). Fixes: https://github.com/JuliaLang/julia/issues/51461 diff --git a/deps/uv/src/win/process.c b/deps/uv/src/win/process.c -index 3e451e2291d6ed200ec258e874becbbea22bbc27..a71a08bdd60166ef1d4ef490ff3e083b44188852 100644 +index 24c633393fd15dcf87726b174d6b027a969e0f0d..4ad9fec900fa66b0e8c6894701e94f420de903a8 100644 --- a/deps/uv/src/win/process.c +++ b/deps/uv/src/win/process.c -@@ -105,6 +105,21 @@ static void uv__init_global_job_handle(void) { +@@ -102,6 +102,21 @@ static void uv__init_global_job_handle(void) { &info, sizeof info)) uv_fatal_error(GetLastError(), "SetInformationJobObject"); @@ -43,7 +43,7 @@ index 3e451e2291d6ed200ec258e874becbbea22bbc27..a71a08bdd60166ef1d4ef490ff3e083b } -@@ -1102,6 +1117,7 @@ int uv_spawn(uv_loop_t* loop, +@@ -1098,6 +1113,7 @@ int uv_spawn(uv_loop_t* loop, * breakaway. */ process_flags |= DETACHED_PROCESS | CREATE_NEW_PROCESS_GROUP; @@ -51,7 +51,7 @@ index 3e451e2291d6ed200ec258e874becbbea22bbc27..a71a08bdd60166ef1d4ef490ff3e083b } if (!CreateProcessW(application_path, -@@ -1119,11 +1135,6 @@ int uv_spawn(uv_loop_t* loop, +@@ -1115,11 +1131,6 @@ int uv_spawn(uv_loop_t* loop, goto done; } @@ -63,7 +63,7 @@ index 3e451e2291d6ed200ec258e874becbbea22bbc27..a71a08bdd60166ef1d4ef490ff3e083b /* If the process isn't spawned as detached, assign to the global job object * so windows will kill it when the parent process dies. */ if (!(options->flags & UV_PROCESS_DETACHED)) { -@@ -1146,6 +1157,19 @@ int uv_spawn(uv_loop_t* loop, +@@ -1142,6 +1153,19 @@ int uv_spawn(uv_loop_t* loop, } }