Re: Disabling COMPAT_FREEBSD4/5/6/7/9 in default kernel configurations

From: Moin Rahman <bofh_at_freebsd.org>
Date: Fri, 10 May 2024 23:51:47 UTC

> On May 11, 2024, at 1:38 AM, henrichhartzer@tuta.io wrote:
> 
> Hi everyone,
> 
> Warner suggested that I run this by the list. In 2018, a bug report was made for disabling COMPAT_FREEBSD4/5/6/7/9 (there's no 8). 6 years later, I imagine this would be as good of a time as any to do this if there's no obvious problems doing so.
> 
> Here's the bug report: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=231768
> 
> And a pull request in the spirit of the original patch: https://github.com/freebsd/freebsd-src/pull/1228
> 
> I imagine if this sounds like a good idea, it would land in 15.0. Users could always recompile kernels with the old ABI functionality as needed. I feel like we're all a little curious if anything still uses this, and making this kind of change is probably the best way to find out.
> 
> In my opinion, if all goes well, it may be wise to remove the old code in the next major version. Could do the full list, or just FreeBSD 4 and 5 compatibility, for instance. Barring notable negative feedback, of course.
> 
> There were some concerns about Rust, but it sounds like it uses (or used?) FreeBSD 10.X features, which this patch does not remove. On that topic: https://github.com/rust-lang/rust/issues/89058
> 
> Long term, it might be a good idea to enable support for EOL-1, and maybe remove code for EOL-2, of course a less aggressive policy is also possible (EOL-2 and EOL-3?). Getting out of the single digit FreeBSD versions should be a good start, though!
> 
> Appreciate any feedback on this and hopefully we can reach some kind of consensus on how to proceed in 2024.
> 
> Thank you!
> 
> -Henrich
> 

Hi,

Just to clarify that before doing so we have to kill some ports
as they will need various misc/compat[4-9]x ports which are
dependent on these kernel features.

List of ports to be affected:
misc/compat4x and emulators/vgba-bin, sysutils/hpacucli
misc/compat5x and emulators/mastergear, emulators/vgb-bin, emulators/vgba-bin, graphics/xnview, net/dhcperf, sysutils/hpacucli
misc/compat6x
misc/compat7x
misc/compat8x and www/thundercache. misc/compat9x
misc/compat9x and audio/optimfrog, audio/optimfrog-sse2, misc/compat8x

My killing spree for older ports seemed to be proving futile
and aggressive and I no longer work on killing outdated and
old ports but these ports should be killed or IGNORED before
removing these features from the tree.

Kind regards,
Moin