On Mon, 2026-02-23 at 16:52 +0100, Nicolas Viéville via rpmfusion-
developers wrote:
> Hello community,
>
> While trying to figure out what the problem is in this bug report:
>
> https://bugzilla.rpmfusion.org/show_bug.cgi?id=7389
>
> I encountered this problem: the Broadcom STA wireless module know as
> wl-
> kmod package in rpmfusion repositories can't be build for rhel10 and
> its
> derivatives (here almalinux 10.1 x86_64_v2 in a VM).
> The build failed saying this, while the linker tries to do its job:
>
> ~/rpmbuild/BUILD/wl-kmod-6.30.223.271/_kmod_build_6.12.0-
> 124.8.1.el10_1.x86_64_v2/wl.o: error: objtool:
> aes_cbc_encrypt_pad+0x4c:
> unannotated intra-function call
> make[2]: *** [scripts/Makefile.build:425: ~/rpmbuild/BUILD/wl-kmod-
> 6.30.223.271/_kmod_build_6.12.0-124.8.1.el10_1.x86_64_v2/wl.o] Error
> 255
>
> The aes_cbc_encrypt_pad function is provided by the binary blob
> present
> in the Broadcom sources, so no modification of it are possible nor of
> its preamble (see documentation link below).
>
> Note: the exact same sources build fine for Fedora 43 actually.
>
> I've tried all the possibilities to disable what it seems to be an
> enforced objtool parameter. Here is a list of options I've tried
> through
> the Makefile provided in the Broadcom sources, and at the end all of
> them:
>
> override undefine CONFIG_OBJTOOL_WERROR
> objtool-args += --Werror
> objtool-args-y += --Werror
> wl.o: override objtool-enabled =
> OBJECT_FILES_NON_STANDARD_linux_osl.o := y
> OBJECT_FILES_NON_STANDARD_wl_linux.o := y
> OBJECT_FILES_NON_STANDARD_wl_iw.o := y
> OBJECT_FILES_NON_STANDARD_wl_cfg80211_hybrid.o := y
> OBJECT_FILES_NON_STANDARD_wlc_hybrid.o_shipped := y
> OBJECT_FILES_NON_STANDARD_wl.o := y
> OBJECT_FILES_NON_STANDARD := y
>
> None of these, in any combination, worked.
>
> For now, the only differences I can see between rhel10 and Fedora is
> that the CONFIG_OBJTOOL_WERROR is set to 'y' in rhel10 kernel sources
> tree config file, and this parameter is not set in Fedora one. Maybe
> it
> has an impact on objtool build, but I can't find any mention of this
> in
> the source code of objtool.
>
> Documentation seems to say that no workaround is possible for that
> error
> "unannotated intra-function call":
>
> https://github.com/torvalds/linux/blob/master/tools/objtool/Documentation/objtool.txt
>
> That's the point I arrived now, and there seems I'm stuck.
>
> This means that probably, wl-kmod can no longer be provided for
> rhel10
> and its derivatives, and if activating CONFIG_OBJTOOL_WERROR
> parameter
> for future kernels in Fedora is scheduled, it will be the case for
> Fedora as well.
>
> Have some of you already encountered this problem in the packages you
> maintain?
> If yes, how did you sorted out?
>
> Any comment, hint or documentation links are welcome.
I found the following approach to test kmods on any Fedora or RHEL
version.
Since broadcom-wl is in nonfree, the mock root can be
epel+rpmfusion_nonfree-10-x86_64. My /etc/mock/epel-10-x86_64.cfg
symlink points to centos-stream+epel-10-x86_64.cfg, but it can be
changed to /etc/mock/alma+epel-10-x86_64.cfg if needed.
After that, just install kernel, broadcom-wl, and also dnf to prevent
failures at the end of the script when it tries to install it. On F43+,
pam may also be required to allow su - to work properly.
mock -r epel+rpmfusion_nonfree-10-x86_64 --install kernel pam dnf
broadcom-wl
mock -r epel+rpmfusion_nonfree-10-x86_64 --shell
Inside the mock chroot, since akmods is currently not working and still
needs investigation:
kernel=$(basename /usr/src/kernels/6.12.0-210.el10.x86_64/)
/usr/sbin/akmods --kernels $kernel
This results in:
/usr/sbin/akmods: line 258: /run/akmods/akmods.lock: No such file or
directory
flock: 99: Bad file descriptor
Checking kmods exist for 6.12.0-210.el10.x86_64 [ OK ]
Building and installing wl-kmod [FAILED]
Building rpms failed; see /var/cache/akmods/wl/6.30.223.271-59-for-
6.12.0-210.el10.x86_64.failed.log for details
You can then inspect:
cat /var/cache/akmods/wl/6.30.223.271-59-for-6.12.0-
210.el10.x86_64.failed.log
2026/02/24 02:20:34 akmodsbuild:
/tmp/akmodsbuild.nyXj67sl/BUILD/wl-kmod-6.30.223.271/_kmod_build_6.12.0-210.el10.x86_64/src/wl/sys/wl_cfg80211_hybrid.c:1930:25:
error: initialization of ‘int (*)(struct wiphy *, struct wireless_dev *, int,
unsigned int, int *)’ from incompatible pointer type ‘s32 (*)(struct wiphy *,
struct wireless_dev *, s32 *)’ {aka ‘int (*)(struct wiphy *, struct
wireless_dev *, int *)’} [-Wincompatible-pointer-types]
2026/02/24 02:20:34 akmodsbuild: 1930 | .get_tx_power =
wl_cfg80211_get_tx_power,
2026/02/24 02:20:34 akmodsbuild: |
^~~~~~~~~~~~~~~~~~~~~~~~
2026/02/24 02:20:34 akmodsbuild:
/tmp/akmodsbuild.nyXj67sl/BUILD/wl-kmod-6.30.223.271/_kmod_build_6.12.0-210.el10.x86_64/src/wl/sys/wl_cfg80211_hybrid.c:1930:25:
note: (near initialization for ‘wl_cfg80211_ops.get_tx_power’)
> Cordially,
>
>
> --
> NVieville
> _______________________________________________
> rpmfusion-developers mailing list --
> [email protected]
> To unsubscribe send an email to
> [email protected]
--
Sérgio M. B.
_______________________________________________
rpmfusion-developers mailing list -- [email protected]
To unsubscribe send an email to [email protected]