File tree Expand file tree Collapse file tree 2 files changed +30
-8
lines changed Expand file tree Collapse file tree 2 files changed +30
-8
lines changed Original file line number Diff line number Diff line change 491491 ['clang==0 and OS!="win"' , {
492492 'cflags' : [ '-Wno-restrict' , ],
493493 }],
494+ # TODO(joyeecheung): investigate if it breaks addons.
495+ # ['OS=="mac"', {
496+ # 'xcode_settings': {
497+ # 'GCC_SYMBOLS_PRIVATE_EXTERN': 'YES', # -fvisibility=hidden
498+ # 'GCC_INLINES_ARE_PRIVATE_EXTERN': 'YES' # -fvisibility-inlines-hidden
499+ # },
500+ # }],
501+ # ['OS!="win" or clang==1', {
502+ # 'cflags': [
503+ # '-fvisibility=hidden',
504+ # '-fvisibility-inlines-hidden'
505+ # ],
506+ # }],
494507 # Pointer authentication for ARM64.
495508 ['target_arch=="arm64"' , {
496509 'target_conditions' : [
Original file line number Diff line number Diff line change 4646 }
4747 },
4848 'conditions' : [
49- ['OS=="mac"' , {
50- # Hide symbols that are not explicitly exported with V8_EXPORT.
51- # TODO(joyeecheung): enable it on other platforms. Currently gcc times out
52- # or run out of memory with -fvisibility=hidden on some machines in the CI.
53- 'xcode_settings' : {
54- 'GCC_SYMBOLS_PRIVATE_EXTERN' : 'YES' , # -fvisibility=hidden
55- },
49+ # Build with -fvisibility=hidden and -fvisibility-inlines-hidden to avoid
50+ # including unnecessary internal symbols, which may lead to run-time fixups.
51+ # This is not done on AIX where symbols are exported by tools/create_expfile.sh
52+ # see https://github.com/nodejs/node/pull/56290#issuecomment-2582703109
53+ ['OS!="aix"' , {
5654 'defines' : [
5755 'BUILDING_V8_SHARED' , # Make V8_EXPORT visible.
58- ],
56+ ]
5957 }],
6058 ['node_shared=="true"' , {
6159 'defines' : [
6260 'V8_TLS_USED_IN_LIBRARY' , # Enable V8_TLS_LIBRARY_MODE.
6361 ],
6462 }],
63+ ['OS=="mac"' , {
64+ 'xcode_settings' : {
65+ 'GCC_SYMBOLS_PRIVATE_EXTERN' : 'YES' , # -fvisibility=hidden
66+ 'GCC_INLINES_ARE_PRIVATE_EXTERN' : 'YES' # -fvisibility-inlines-hidden
67+ },
68+ }, 'OS!="aix" and (OS!="win" or clang==1)' , {
69+ 'cflags' : [
70+ '-fvisibility=hidden' ,
71+ '-fvisibility-inlines-hidden'
72+ ],
73+ }], # MSVC hides the non-public symbols by default so no need to configure it.
6574 ],
6675 },
6776 'targets' : [
You can’t perform that action at this time.
0 commit comments