From 15e751e4b79475fb34e4b32a3ca54119b20c564a Mon Sep 17 00:00:00 2001 From: Hongxu Jia Date: Sat, 17 Aug 2024 21:33:18 +0800 Subject: [PATCH] link libatomic for clang conditionally Clang emits atomic builtin, explicitly link libatomic conditionally: - For target build, always link -latomic for clang as usual - For host build, if host and target have same bit width, cross compiling is enabled, and host toolchain is gcc which does not link -latomic; if host and target have different bit width, no cross compiling, host build is the same with target build that requires to link -latomic; Fix: |tmp-glibc/work/core2-64-wrs-linux/nodejs/20.13.0/node-v20.13.0/out/Release/node_js2c: error while loading shared libraries: libatomic.so.1: cannot open shared object file: No such file or directory Upstream-Status: Inappropriate [OE specific] Signed-off-by: Hongxu Jia Added libatomic library explicitly to x86 targets. Signed-off-by: Gyorgy Sarvari --- node.gyp | 13 ++++++++++++- tools/v8_gypfiles/v8.gyp | 29 ++++++++++++++++++++++++----- 2 files changed, 36 insertions(+), 6 deletions(-) --- a/node.gyp +++ b/node.gyp @@ -503,7 +503,18 @@ ], }], ['OS=="linux" and clang==1', { - 'libraries': ['-latomic'], + 'target_conditions': [ + ['_toolset=="host"', { + 'conditions': [ + ['"