#52881: build: generate the Node startup snapshot on cross-arch builds too (43-x-y)
Backport of #52874
Backport of #52902
Backport of #52959
See those PRs for details. Rebased onto the current 43-x-y head (the earlier failing mksnapshot check was this branch predating the 43-x-y backport of #52872); the node patch series was re-applied against v24.18.1 and re-exported for this branch.
#52902 fixes the cross-arch snapshot #52874 introduces: without it a second node_mksnapshot run in v8_snapshot_toolchain keyed the browser js2c code cache to a snapshot the framework never shipped, so it was rejected at startup on Windows. #52959 fixes process.arch reading ia32 in the main process on linux-arm once it boots from the cross-generated snapshot (the arm test failures on the earlier runs here).
Notes: Linux arm64, Windows arm64 and macOS x64 builds now start the main process from the embedded Node.js startup snapshot like the other platforms, improving startup time.
Backport Information
Semver Impact
Semantic Versioning helps users understand the impact of updates:
- Major (X.y.z): Breaking changes that may require code modifications
- Minor (x.Y.z): New features that maintain backward compatibility
- Patch (x.y.Z): Bug fixes that don't change the API
- None: Changes that don't affect using facing parts of Electron