On Mon, 15 Sep 2025, Warner Losh wrote:
The branch main has been updated by imp:
URL:
https://cgit.FreeBSD.org/src/commit/?id=5e0a4859f28ad4869f7a73faf42debc355a370bf
commit 5e0a4859f28ad4869f7a73faf42debc355a370bf
Author: Warner Losh <i...@freebsd.org>
AuthorDate: 2025-09-14 18:03:16 +0000
Commit: Warner Losh <i...@freebsd.org>
CommitDate: 2025-09-15 03:03:45 +0000
iwlwifi: Don't compile for gcc before 14
gcc 13 and earlier don't have __builtin_bitcountg. The linux wifi kpi
uses this unconditionally. While in this one use, it might not be
needed, I opted to not compile iwlwifi when building gcc12 or 13 rather
than risk breaking it for everbody else.
With this change gcc12 builds the kernel. Maybe this will stop jenkins
email for every commit I make.
Sponsored by: Netflix
---
sys/modules/Makefile | 3 +++
1 file changed, 3 insertions(+)
diff --git a/sys/modules/Makefile b/sys/modules/Makefile
index 5315d518afd8..f9fdbca78869 100644
--- a/sys/modules/Makefile
+++ b/sys/modules/Makefile
@@ -576,7 +576,10 @@ _mlx5ib= mlx5ib
${MACHINE_CPUARCH} == "i386"
_ena= ena
_gve= gve
+# gcc13 and earlier lack __builtin_bitcountg used by linux emulation
(a) I beleive there is no __builtin_bitcountg but you mean __builtin_popcountg
both here and in the commit message.
(b) That was introduced in 7cbc4d875971860d941cc15d7f42e6cfeffbfe66 for DRM
(c) There is no direct use in any LinuxKPI based wireless driver:
% grep -r __builtin_popcountg sys/contrib/dev
%
(4) iwlwifi only uses HWEIGHT32, which was changed by the aforementioned commit
in LinuxKPI.
(5) Please do it right and in the place where it is actually defined to be used,
in LinuxKPI, and not here as it can be easily fixed there with an #ifdef or
otherwise as there were alternatives on the review if I remember correctly.
I am Cc:ing dumbbell as well as he needed the change for DRM.
PS: we also need to fix this in sys/sys at some point and save us some
trouble.
+.if !(${COMPILER_TYPE} == "gcc" && ${COMPILER_VERSION} < 140000)
_iwlwifi= iwlwifi
+.endif
_rtw88= rtw88
_rtw89= rtw89
_vmware= vmware
--
Bjoern A. Zeeb r15:7