Skip to content

Commit d8ff4f6

Browse files
committed
Document the i386 histogram link fix
Thanks to xet7 !
1 parent c6db32e commit d8ff4f6

1 file changed

Lines changed: 17 additions & 1 deletion

File tree

CHANGELOG.md

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,8 @@ It holds no Node.js source: patches are organised by platform into a common
6464
family sections, and the **Release All** / **Release All Missing** workflows clone
6565
the newest upstream release, verify and apply each platform's sections, and build
6666
the fourteen-platform binary set that WeKan embeds. The patches restore **32-bit
67-
Windows**, add the **32-bit x86** and **32-bit ARM** SIMD/build flags, and correct
67+
Windows**, keep Node v24.20.0's **histogram AVX2** path off **32-bit x86**, add the
68+
**32-bit x86** and **32-bit ARM** SIMD/build flags, and correct
6869
**Apple Clang** and **V8** compile errors; **s390x** builds with a real
6970
**mksnapshot** under **qemu-user** instead of the big-endian V8 simulator, so it
7071
needs no patch of its own. The fourteenth platform is **armv6** — Raspberry Pi 1
@@ -124,6 +125,21 @@ of failing on an unknown architecture.
124125

125126
</details>
126127

128+
<details>
129+
<summary><a href="https://github.com/wekan/node-patches/commit/c6db32e">histogram-avx2-x64-only — keeps a 64-bit intrinsic out of the i386 build</a>. Thanks to xet7.</summary>
130+
131+
Node.js v24.20.0 enabled hdr-histogram's runtime AVX2 implementation on both
132+
x86_64 and i386. That implementation extracts two 64-bit lanes with
133+
`_mm_extract_epi64`; GCC accepted the source under `-m32`, but the intrinsic
134+
left unresolved references when the i386 build linked `node_mksnapshot`.
135+
136+
The patch keeps runtime AVX2 dispatch on x86_64 and uses hdr-histogram's
137+
existing scalar fallback on ia32. The patch-application test checks both sides
138+
of that boundary after applying the complete i386 patch set: x64 remains in the
139+
guard and i386 does not.
140+
141+
</details>
142+
127143
**32-bit ARM** (`dist/arm/`) - applied to armhf and armv7.
128144

129145
<details>

0 commit comments

Comments
 (0)