Commit c99ebf28b84 for nodejs

commit c99ebf28b84d7b7faf7105611ac2df5ed88d4dc8
Author: Joyee Cheung <joyeec9h3@gmail.com>
Date:   Wed Oct 28 20:43:30 2026 +0100

    build: set V8_DISABLE_PRESERVE_MOST

    Refs: https://chromium-review.googlesource.com/c/v8/v8/+/8532546
    Signed-off-by: Joyee Cheung <joyeec9h3@gmail.com>
    PR-URL: https://github.com/nodejs/node/pull/67093
    Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
    Reviewed-By: Richard Lau <richard.lau@ibm.com>

diff --git a/common.gypi b/common.gypi
index 5e100167a42..f8588b82311 100644
--- a/common.gypi
+++ b/common.gypi
@@ -588,6 +588,13 @@
           '_HAS_EXCEPTIONS=0',
           'BUILDING_V8_SHARED=1',
           'BUILDING_UV_SHARED=1',
+          # Node.js is built with clang-cl but native addons may be built
+          # with MSVC, which does not support preserve_most.
+          # As preserve_most changes the mangled name of a function in the
+          # Microsoft C++ ABI, the addons would fail to link against the
+          # exported symbols. So this define must be consistely set for
+          # both the V8 build and addon builds.
+          'V8_DISABLE_PRESERVE_MOST',
           # Stop <windows.h> from defining macros that conflict with
           # std::min() and std::max().  We don't use <windows.h> (much)
           # but we still inherit it from uv.h.