04.05.2022 2:42, Ed Maste wrote:

> On Fri, 29 Apr 2022 at 14:43, Eugene Grosbein <[email protected]> wrote:
>>
>> For example:
>>
>> if_em           
>> https://cgit.freebsd.org/src/commit/?id=c0460cf2e42d2819c1f191a1d6e1b3dc0c7ea010
>> if_epair        
>> https://cgit.freebsd.org/src/commit/?id=7a382e744b0b0ba9b51dc34bfa0cd1515f744f25
>> linuxkpi        
>> https://cgit.freebsd.org/src/commit/?id=f5a2e7b0e8483bf51519046fd149a6a31acef6b1
> 
> Ah, yes. We should add a CI task to build all modules outside of the
> kernel tree.

Also, there are multiple modules that can be built standalone just fine
but cannot be loaded with GENERIC kernel. In case of stable/12 examples are:

ipfw.ko;
if_lagg.ko;
if_bridge.ko and bridgestp.ko;
linux_common.ko, linprocfs.ko, linux.ko and linux64.ko;
h_ertt.ko and cc_chd.ko and surely many others.

Noted modules are built standalone without VIMAGE support but GENERIC has 
options VIMAGE,
hence ABI incompatibility. Somewhat hackish workaround is the following line 
added to /etc/src.conf:

CFLAGS+=        -DVIMAGE=1

This restores ABI compatibility. Unfortunately, we have no VIMAGE= nor 
WITH_VIMAGE= knob.
See also https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=230009
that contains a patch by ae@ 


Reply via email to