node icon indicating copy to clipboard operation
node copied to clipboard

deps: update V8 to 11.5

Open targos opened this issue 1 year ago • 8 comments

Based on https://github.com/nodejs/node/pull/48029 with two additional commits.

  • deps: update V8 to 11.5.150.8
  • build: reset embedder string to "-node.0"
  • src: update NODE_MODULE_VERSION to 118
  • deps: always define V8_EXPORT_PRIVATE as no-op
  • deps: silence irrelevant V8 warning
  • deps: patch V8 to support compilation on win-arm64
  • deps: disable V8 concurrent sparkplug compilation
  • tools: update V8 gypfiles for 11.4
  • tools: add new V8 headers to distribution
  • lib: update usage of always on Atomics API
  • test: adapt debugger tests to V8 11.4
  • test: update flag to disable SharedArrayBuffer
  • tools: update V8 gypfiles for 11.5
  • test: adapt test-fs-write to V8 internal changes

targos avatar Jun 14 '23 08:06 targos

Review requested:

  • [ ] @nodejs/gyp
  • [ ] @nodejs/v8-update

nodejs-github-bot avatar Jun 14 '23 08:06 nodejs-github-bot

CI: https://ci.nodejs.org/job/node-test-pull-request/52250/ V8: https://ci.nodejs.org/job/node-test-commit-v8-linux/5395/

nodejs-github-bot avatar Jun 14 '23 08:06 nodejs-github-bot

@StefanStojanovic I've kept https://github.com/nodejs/node/pull/48456/commits/63589e5ed0a6a1dedbb1dae1a0dd7a9f97325ae5. Can you point me to the V8 CL that would make it obsolete?

targos avatar Jun 14 '23 08:06 targos

@StefanStojanovic I've kept 63589e5. Can you point me to the V8 CL that would make it obsolete?

My third CL landed 5 days ago. That should be the last one needed. In case you need the other CLs, this is the second one that landed a month ago, and the first one that landed 2 months ago

StefanStojanovic avatar Jun 14 '23 10:06 StefanStojanovic

Thanks, I updated the PR to cherry-pick that last commit instead of the floating patch.

targos avatar Jun 14 '23 11:06 targos

Failure in shared lib build:

12:29:30 /home/iojs/build/workspace/node-test-commit-linux-containered/out/Release/obj.target/v8_zlib/deps/v8/third_party/zlib/cpu_features.o:(.bss.x86_cpu_enable_avx512+0x0): multiple definition of `x86_cpu_enable_avx512'
12:29:30 /home/iojs/build/workspace/node-test-commit-linux-containered/out/Release/obj.target/zlib/deps/zlib/cpu_features.o:(.bss+0x0): first defined here
12:29:30 collect2: error: ld returned 1 exit status
12:29:30 libnode.target.mk:546: recipe for target '/home/iojs/build/workspace/node-test-commit-linux-containered/out/Release/obj.target/libnode.so.118' failed
12:29:30 make[2]: *** [/home/iojs/build/workspace/node-test-commit-linux-containered/out/Release/obj.target/libnode.so.118] Error 1

Same on SmartOS:

12:27:09 ld: fatal: symbol 'x86_cpu_enable_avx512' is multiply-defined:
12:27:09 	(file /home/iojs/build/workspace/node-test-commit-smartos/nodes/smartos20-64/out/Release/obj.target/deps/zlib/libzlib.a(cpu_features.o) type=OBJT; file /home/iojs/build/workspace/node-test-commit-smartos/nodes/smartos20-64/out/Release/obj.target/tools/v8_gypfiles/libv8_zlib.a(cpu_features.o) type=OBJT);
12:27:09 ld: fatal: file processing errors. No output written to /home/iojs/build/workspace/node-test-commit-smartos/nodes/smartos20-64/out/Release/cctest

targos avatar Jun 14 '23 11:06 targos

I don't see what's special about x86_cpu_enable_avx512. It's defined the same way as, for example, x86_cpu_enable_simd, which isn't causing any issues.

/cc @nodejs/cpp-reviewers

targos avatar Jun 21 '23 10:06 targos

https://github.com/nodejs/node/pull/48456/commits/5258be63b30d7ec2cf31b0bd323b1ebb8d751b45 can be dropped due to upstream bug has been fixed.

wa-Nadoo avatar Jun 21 '23 22:06 wa-Nadoo

5258be6 can be dropped due to upstream bug has been fixed.

Upstream bug was closed, but a fix needs to happen on the Node.js side.

See https://github.com/nodejs/node/issues/47297 and https://github.com/nodejs/node/pull/47452

targos avatar Jun 26 '23 09:06 targos

https://github.com/nodejs/node/pull/48710

targos avatar Jul 09 '23 10:07 targos