diff -rauN node-17.1.0/node.gyp node-17.1.0-atomic-patch/node.gyp --- node-17.1.0/node.gyp 2021-11-08 16:40:59.000000000 +0100 +++ node-17.1.0-atomic-patch/node.gyp 2021-12-09 09:16:58.041503560 +0100 @@ -116,6 +116,11 @@ '-Wl,-bnoerrmsg', ], }], + [ 'target_arch=="ia32"', { + 'link_settings': { + 'libraries': [ '-latomic' ], + }, + }], ['OS == "linux" and llvm_version != "0.0"', { 'libraries': ['-latomic'], }], diff -rauN node-17.1.0/tools/v8_gypfiles/toolchain.gypi node-17.1.0-atomic-patch/tools/v8_gypfiles/toolchain.gypi --- node-17.1.0/tools/v8_gypfiles/toolchain.gypi 2021-11-08 16:40:59.000000000 +0100 +++ node-17.1.0-atomic-patch/tools/v8_gypfiles/toolchain.gypi 2021-12-09 09:14:54.281212315 +0100 @@ -1030,9 +1030,6 @@ or OS=="netbsd" or OS=="mac" or OS=="android" or OS=="qnx") and \ v8_target_arch=="ia32"', { 'cflags': [ - '-msse2', - '-mfpmath=sse', - '-mmmx', # Allows mmintrin.h for MMX intrinsics. ], }], ['(OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="solaris" \ diff -rauN node-17.1.0/tools/v8_gypfiles/v8.gyp node-17.1.0-atomic-patch/tools/v8_gypfiles/v8.gyp --- node-17.1.0/tools/v8_gypfiles/v8.gyp 2021-11-08 16:40:59.000000000 +0100 +++ node-17.1.0-atomic-patch/tools/v8_gypfiles/v8.gyp 2021-12-09 09:10:15.947439079 +0100 @@ -965,7 +965,7 @@ }], # Platforms that don't have Compare-And-Swap (CAS) support need to link atomic library # to implement atomic memory access - ['v8_current_cpu in ["mips", "mipsel", "mips64", "mips64el", "ppc", "arm", "riscv64"]', { + ['v8_current_cpu in ["mips", "mipsel", "mips64", "mips64el", "ppc", "arm", "riscv64", "x86"]', { 'link_settings': { 'libraries': ['-latomic', ], },