-
Notifications
You must be signed in to change notification settings - Fork 29.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Build failure on CPU without popcnt #48305
Comments
As noted in #46789, do you have a new enough build environment (especially binutils >= 2.30)? |
/cc @anonrig |
Can you open an issue to simdutf as well? |
Yeah, this is with GCC 12 (12.2.1 20230428) and Binutils 2.39. I can file it over w/ simdutf, but fwiw I haven't tried to reproduce it outside of nodejs (and I'm forwarding a bug for somebody else, so not reproduced it myself yet). |
Reported to simdutf at simdutf/simdutf#251. |
Updating simdutf should fix this issue. However, I cannot verify the fix since I don't have this hardware. It is quite old. The issue is unexpected. |
Fixed by #48344 Verified the fix on Intel Q8200 (bug is reproducible): $ grep popcnt /proc/cpuinfo
$ grep ^flags /proc/cpuinfo | head -n1
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good nopl cpuid aperfmperf pni dtes64 monitor ds_cpl est tm2 ssse3 cx16 xtpr pdcm sse4_1 lahf_lm dtherm
$ emerge --info | grep ^CFLAGS
CFLAGS="-O2 -pipe -march=native" |
Version
20.2.0
Platform
5.15.114-gentoo-dist-hardened
Subsystem
simdutf
What steps will reproduce the bug?
Attempt to build nodejs-18.14.0 or nodejs-20.2.0 with a CPU doesn't have
popcnt
, like Intel-R-_Core-TM-2_Duo_CPU_T9900. It seems like the issue is having e.g. SSE4.1 but not popcnt.The build will fail within simdutf.
How often does it reproduce? Is there a required condition?
Reproducible on each attempt with an Intel Core 2 Duo using -march=native but with no popcnt available.
The machine has the following:
And /proc/cpuinfo:
What is the expected behavior? Why is that the expected behavior?
Successful build, as before simdutf import.
What do you see instead?
Build failure:
Additional information
Forwarding this on behalf of some downstream Gentoo users.
Reported downstream in Gentoo at https://bugs.gentoo.org/900513.
See also #46789.
The text was updated successfully, but these errors were encountered: