As a temporary *workaround* in order to link the driver (for those of us willing to use a "blob-ful" driver -- until a better solution is found) under 6.15 and beyond, the driver may be linked by editing /usr/src/broadcom-sta-6.30.223.271/Makefile to disable objtool during the final processing of wl.o. It's an ugly hack but it seems to work for me.
Details are found in this link (lines 75-89): https://gitlab.archlinux.org/archlinux/packaging/packages/broadcom-wl-dkms/-/blob/main/020-linux615.patch?ref_type=h On Thu, 05 Jun 2025 13:28:30 +0200 Andreas Beckmann <[email protected]> wrote: > Followup-For: Bug #1106546 > Control: found -1 6.30.223.271-27 > > With the EXTRA_CFLAGS fixed, the module build is now failing while > linking: > > DKMS (dkms-3.2.0) make.log for broadcom-sta/6.30.223.271 for kernel 6.15-amd64 (x86_64) > Thu Jun 5 00:59:08 UTC 2025 > > Building module(s) > # command: make -j14 KERNELRELEASE=6.15-amd64 KVER=6.15-amd64 > CFG80211 API is prefered for this kernel version > Makefile:91: Neither CFG80211 nor Wireless Extension is enabled in kernel > KBUILD_NOPEDANTIC=1 make -C /lib/modules/6.15-amd64/build M=`pwd` > make[1]: Entering directory '/usr/src/linux-headers-6.15-amd64' > make[2]: Entering directory '/var/lib/dkms/broadcom- sta/6.30.223.271/build' > CFG80211 API is prefered for this kernel version > Using CFG80211 API > Kernel architecture is X86_64 > CC [M] src/shared/linux_osl.o > CC [M] src/wl/sys/wl_linux.o > CC [M] src/wl/sys/wl_iw.o > CC [M] src/wl/sys/wl_cfg80211_hybrid.o > In file included from /usr/src/linux-headers-6.15- common/include/linux/srcu.h:21, > from /usr/src/linux-headers-6.15- common/include/linux/notifier.h:16, > from /usr/src/linux-headers-6.15- common/arch/x86/include/asm/uprobes.h:13, > from /usr/src/linux-headers-6.15- common/include/linux/uprobes.h:65, > from /usr/src/linux-headers-6.15- common/include/linux/mm_types.h:16, > from /usr/src/linux-headers-6.15- common/include/linux/mmzone.h:22, > from /usr/src/linux-headers-6.15- common/include/linux/gfp.h:7, > from /usr/src/linux-headers-6.15- common/include/linux/umh.h:4, > from /usr/src/linux-headers-6.15- common/include/linux/kmod.h:9, > from /usr/src/linux-headers-6.15- common/include/linux/module.h:17, > from ././src/include/linuxver.h:40, > from src/wl/sys/wl_linux.c:27: > src/wl/sys/wl_linux.c: In function 'wl_down': > /usr/src/linux-headers-6.15-common/include/linux/workqueue.h:765:9: warning: call to '__warn_flushing_systemwide_wq' declared with attribute warning: Please avoid flushing system-wide workqueues. [- Wattribute-warning] > 765 | __warn_flushing_systemwide_wq(); \ > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > src/wl/sys/wl_linux.c:1512:25: note: in expansion of macro 'flush_scheduled_work' > 1512 | flush_scheduled_work(); > | ^~~~~~~~~~~~~~~~~~~~ > LD [M] wl.o > wl.o: warning: objtool: aes_cbc_encrypt_pad+0x4c: unannotated intra- function call > make[4]: *** [/usr/src/linux-headers-6.15- common/scripts/Makefile.build:413: wl.o] Error 255 > make[4]: *** Deleting file 'wl.o' > make[3]: *** [/usr/src/linux-headers-6.15-common/Makefile:2027: .] Error 2 > make[2]: *** [/usr/src/linux-headers-6.15-common/Makefile:260: __sub- make] Error 2 > make[2]: Leaving directory '/var/lib/dkms/broadcom- sta/6.30.223.271/build' > make[1]: *** [/usr/src/linux-headers-6.15-common/Makefile:260: __sub- make] Error 2 > make[1]: Leaving directory '/usr/src/linux-headers-6.15-amd64' > make: *** [Makefile:183: all] Error 2 > > # exit code: 2 > # elapsed time: 00:00:05 > ---------------------------------------------------------------- > > > This may be caused by the blob being linked in, but I haven't had time > to further investigate this (and it doesn't (yet) happen with -- Craig Prevallet <[email protected]>

