Files
meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs-24/0002-v8-don-t-override-ARM-CFLAGS.patch
Tim Orling 143d18269c nodejs: upgrade 22.22.3 -> 24.16.0 (LTS)
Add Node.js 24.16.0 [1] recipe based on 22.22.3. Patches reviewed against
the 24.15.0 source tree and rebased where needed:

- 0001: rebased for Makefile changes (common_node.gypi removed, line
  offsets shifted); merged with Disable-running-gyp-files patch since
  both modify the same Makefile hunk. Remove deps/simdutf/simdutf.gyp;
  no longer vendored here.
- 0005: rebased for v8.gyp libatomic condition change (clang condition
  folded upstream, ppc removed)

- v24.16.0 bumps bundled llhttp to 9.3.1 (LLHTTP_VERSION_MAJOR/MINOR/PATCH
  = 9/3/1 in deps/llhttp/include/llhttp.h).

Five patches dropped as no longer needed:
- build-remove-redundant-mXX-flags-for-V8: backport already merged
  upstream in Node.js 24
- ppc64-Do-not-use-mminimal-toc-with-clang: Node.js 24 common.gypi
  already gates -mminimal-toc behind clang==0
- fix-arm-Neon-intrinsics-types: the v24.16.0 source already uses
  vandq_u8/vorrq_u8 and vshrn_n_u16(vreinterpretq_u16_u8(mask), 4).
- detect-aarch64-Neon-correctly:  #ifdef __ARM_NEON__ →
  #if defined(__ARM_NEON__) || defined(__ARM_NEON) — already present
  at lines 13 and 2628.
- llhttp-fix-NEON-header-value-__builtin_ctzll-undefin: wanted the
  match_mask == 0 guard around __builtin_ctzll — already present.
  "This patch can be dropped when nodejs updates its bundled llhttp
  to >= 9.3.1.")

Remaining 9 patches renumbered sequentially 0001-0009. All verified to
apply cleanly against the v24.16.0 source tarball.

NOTE: The "current" release is v26.2.0 [1], but this is not yet an LTS
      release. Application stacks frequently lag new releases, so
      it makes sense to have support for the v24 LTS release.

[1] https://nodejs.org/en/blog/release/v24.16.0
[2] https://nodejs.org/en/blog/release/v26.2.0

Signed-off-by: Tim Orling <tim.orling@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-05-21 17:20:20 -07:00

100 lines
4.0 KiB
Diff

From afc085af7b6b935a5e14fc3f40db47df02ca3af2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andr=C3=A9=20Draszik?= <git@andred.net>
Date: Sat, 9 Nov 2019 14:45:30 +0000
Subject: [PATCH] v8: don't override ARM CFLAGS
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
This overrides yocto-provided build flags with its own, e.g we get
arm-poky-linux-musleabi-g++ -mthumb -mfpu=neon -mfloat-abi=hard -mcpu=cortex-a7 \
... \
-march=armv7-a -mfpu=neon -mfloat-abi=hard -marm
Causing the latter to override the former, and compiler warnings:
cc1plus: warning: switch '-mcpu=cortex-a7' conflicts with '-march=armv7-a' switch
Patch this out, so that yocto-provided flags take precedence.
Note that in reality the same should probably be done for all the other
supported architectures, too.
Note that this also switches to Thumb(2) mode (in my case). No obvious
problems have been noted during compilation or runtime.
Upstream-Status: Inappropriate [oe-specific]
Signed-off-by: André Draszik <git@andred.net>
---
tools/v8_gypfiles/toolchain.gypi | 52 ++------------------------------
1 file changed, 2 insertions(+), 50 deletions(-)
diff --git a/tools/v8_gypfiles/toolchain.gypi b/tools/v8_gypfiles/toolchain.gypi
index 9d1b0987..4df15e60 100644
--- a/tools/v8_gypfiles/toolchain.gypi
+++ b/tools/v8_gypfiles/toolchain.gypi
@@ -203,31 +203,7 @@
'target_conditions': [
['_toolset=="host"', {
'conditions': [
- ['v8_target_arch==host_arch', {
- # Host built with an Arm CXX compiler.
- 'conditions': [
- [ 'arm_version==7', {
- 'cflags': ['-march=armv7-a',],
- }],
- [ 'arm_version==7 or arm_version=="default"', {
- 'conditions': [
- [ 'arm_fpu!="default"', {
- 'cflags': ['-mfpu=<(arm_fpu)',],
- }],
- ],
- }],
- [ 'arm_float_abi!="default"', {
- 'cflags': ['-mfloat-abi=<(arm_float_abi)',],
- }],
- [ 'arm_thumb==1', {
- 'cflags': ['-mthumb',],
- }],
- [ 'arm_thumb==0', {
- 'cflags': ['-marm',],
- }],
- ],
- }, {
- # 'v8_target_arch!=host_arch'
+ ['v8_target_arch!=host_arch', {
# Host not built with an Arm CXX compiler (simulator build).
'conditions': [
[ 'arm_float_abi=="hard"', {
@@ -246,31 +222,7 @@
}], # _toolset=="host"
['_toolset=="target"', {
'conditions': [
- ['v8_target_arch==target_arch', {
- # Target built with an Arm CXX compiler.
- 'conditions': [
- [ 'arm_version==7', {
- 'cflags': ['-march=armv7-a',],
- }],
- [ 'arm_version==7 or arm_version=="default"', {
- 'conditions': [
- [ 'arm_fpu!="default"', {
- 'cflags': ['-mfpu=<(arm_fpu)',],
- }],
- ],
- }],
- [ 'arm_float_abi!="default"', {
- 'cflags': ['-mfloat-abi=<(arm_float_abi)',],
- }],
- [ 'arm_thumb==1', {
- 'cflags': ['-mthumb',],
- }],
- [ 'arm_thumb==0', {
- 'cflags': ['-marm',],
- }],
- ],
- }, {
- # 'v8_target_arch!=target_arch'
+ ['v8_target_arch!=target_arch', {
# Target not built with an Arm CXX compiler (simulator build).
'conditions': [
[ 'arm_float_abi=="hard"', {