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

From: Milan Obuch <freebsd-arch_at_dino.sk>
Date: Sat, 11 May 2024 05:17:11 UTC
On Sat, 11 May 2024 01:38:38 +0200 (CEST)
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
>

In general I think it is good move. In my kernel builds I am trying to
use minimal set of features (options, devices) and use loadable modules
whenever possible.

I used to remove all COMPAT_FREEBSDn options, now I am keeping 11 and
up - in my notes rust is being listed, but I think some jdk (or needed
bootstrap) required some compatibility, too.

Idea of COMPAT_FREEBSDn being converted into loadable module mentioned
in some reply is nice, I don't know much in this area to have anything
more competent to say.

Regards,
Milan