From 9a13a632966a20970f75b63f11b7ec33a19f205d Mon Sep 17 00:00:00 2001 From: Joyee Cheung Date: Mon, 5 Jan 2026 14:08:06 +0100 Subject: [PATCH] build: expose libplatform symbols in shared libnode MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This requires setting BUILDING_V8_PLATFORM_SHARED to expose the public symbols since we build with hidden visibility by default. PR-URL: https://github.com/nodejs/node/pull/61144 Fixes: https://github.com/nodejs/node/issues/61102 Reviewed-By: Michaƫl Zasso Reviewed-By: Chengzhong Wu Reviewed-By: Richard Lau --- node.gypi | 2 ++ tools/v8_gypfiles/v8.gyp | 9 +++++++++ 2 files changed, 11 insertions(+) diff --git a/node.gypi b/node.gypi index e9b36657d13bb4..7d6c44b059de23 100644 --- a/node.gypi +++ b/node.gypi @@ -50,9 +50,11 @@ 'defines': [ 'USING_UV_SHARED', 'USING_V8_SHARED', + 'USING_V8_PLATFORM_SHARED', 'BUILDING_NODE_EXTENSION' ], 'defines!': [ + 'BUILDING_V8_PLATFORM_SHARED=1', 'BUILDING_V8_SHARED=1', 'BUILDING_UV_SHARED=1' ] diff --git a/tools/v8_gypfiles/v8.gyp b/tools/v8_gypfiles/v8.gyp index 8c3a558ae60f14..842519e7eb3373 100644 --- a/tools/v8_gypfiles/v8.gyp +++ b/tools/v8_gypfiles/v8.gyp @@ -53,6 +53,7 @@ ['OS!="aix" and OS!="os400"', { 'defines': [ 'BUILDING_V8_SHARED', # Make V8_EXPORT visible. + 'BUILDING_V8_PLATFORM_SHARED', # Make V8_PLATFORM_EXPORT visible. ] }], ['node_shared=="true"', { @@ -1284,6 +1285,7 @@ ['component=="shared_library"', { 'defines': [ 'BUILDING_V8_SHARED', + 'BUILDING_V8_PLATFORM_SHARED', ], }], ['v8_enable_i18n_support==1', { @@ -1353,6 +1355,7 @@ 'defines!': [ '_HAS_EXCEPTIONS=0', 'BUILDING_V8_SHARED=1', + 'BUILDING_V8_PLATFORM_SHARED=1', ], 'cflags_cc!': ['-fno-exceptions'], 'cflags_cc': ['-fexceptions'], @@ -1379,6 +1382,7 @@ 'defines!': [ '_HAS_EXCEPTIONS=0', 'BUILDING_V8_SHARED=1', + 'BUILDING_V8_PLATFORM_SHARED=1', ], 'cflags_cc!': ['-fno-exceptions'], 'cflags_cc': ['-fexceptions'], @@ -1720,6 +1724,7 @@ ], 'defines!': [ 'BUILDING_V8_SHARED=1', + 'BUILDING_V8_PLATFORM_SHARED=1', ], 'dependencies': [ 'v8_libbase', @@ -1801,6 +1806,7 @@ 'defines!': [ '_HAS_EXCEPTIONS=0', 'BUILDING_V8_SHARED=1', + 'BUILDING_V8_PLATFORM_SHARED=1', ], 'cflags_cc!': ['-fno-exceptions'], 'cflags_cc': ['-fexceptions'], @@ -1844,6 +1850,7 @@ 'defines!': [ '_HAS_EXCEPTIONS=0', 'BUILDING_V8_SHARED=1', + 'BUILDING_V8_PLATFORM_SHARED=1', ], 'msvs_settings': { 'VCCLCompilerTool': { @@ -2058,10 +2065,12 @@ ], 'defines': [ 'BUILDING_V8_SHARED', + 'BUILDING_V8_PLATFORM_SHARED', ], 'direct_dependent_settings': { 'defines': [ 'USING_V8_SHARED', + 'USING_V8_PLATFORM_SHARED', ], }, 'conditions': [