Re: Deprecation of i386 and 32-bit powerpc for 15.0

From: Konstantin Belousov <kostikbel_at_gmail.com>
Date: Fri, 20 Jun 2025 18:03:51 UTC
On Fri, Jun 20, 2025 at 10:40:15AM -0700, Cy Schubert wrote:
> In message <3e998e81-0c3e-4b9a-8bcd-44b9cf70b6d1@FreeBSD.org>, John Baldwin 
> wri
> tes:
> > In February 2023, the FreeBSD core team announced a plan to deprecate
> > most 32-bit platforms in FreeBSD 15.0.  Since that time, armv6 support
> > has been removed from main leaving i386 and 32-bit powerpc as the
> > remaining 32-bit platforms slated for deprecation.  While there have
> > been a few requests to keep full support for these platforms, we have
> > not seen an increase in developer interest or willingness to support
> > these platforms.
> >
> > In the past, removing platforms has been a bit messy.  Once a platform
> > is disconnected in main but remains in older stable branches, there is
> > a risk of MFCs breaking these deprecated platforms.  That has
> > certainly been the case with our most recent removal of MIPS (which is
> > still present in 13).  OTOH, keeping code around in the tree that is
> > deprecated comes at its own cost, and we would like to find the right
> > balance for deprecating i386 and 32-bit powerpc in 15.0.
> >
> > Prompted by a request from re@, srcmgr@ drafted an initial plan back
> > in January and shared it with core@.  core@ asked srcmgr@ to drive
> > this deprecation in coordination with other teams.  srcmgr@ worked
> > with re@ and portmgr@ to refine the initial plan into the proposal
> > below.  One request we received during this process is to keep the
> > full i386 world building even if the kernel is disabled.  Given the
> > presence of armv7 covering 32-bit warnings for userspace still and
> > that most MD code for i386 is already required for lib32 builds, the
> > cost of keeping this building seems relatively minor.
> >
> > The proposed timeline:
> >
> > - On main 3 months prior to the branching of stable/15 (June 2025):
> >
> >    - disable all i386 kernel configs in make universe in main leaving
> >      i386 as a world-only target in make universe
> >
> >    - move 32-bit powerpc out of the default list of targets for
> >      universe in main
> >
> >    - stop building release image snapshots for i386, powerpc, and
> >      powerpcspe
> >
> >    - stop building binary packages for i386 and powerpc for main
> >
> >    - disable CI jobs in jenkins for i386 and powerpc
> >
> > - On stable/15 after it branches (September 2025):
> >
> >    - exclude i386 and powerpc from CI jobs added in jenkins for the new
> >      branch
> >
> >    - do not add package builds or release image builds for i386 and
> >      powerpc for the new branch
> >
> > - ~6 months after branching (BSDCan 2026 devsummit):
> >
> >    - evaluate how stable/14 has been fairing (are MFCs breaking
> >      deprecated platforms) (note that stable/13 will be EOL at this
> >      point)
> >
> >      - if all is smooth, start removing code from main for i386 and
> >        powerpc kernels as well as any powerpc userspace code not
> >        required for lib32
> 
> When can we expect lib32 removal?
Hopefully never.

> 
> >
> >      - if all is not smooth, re-evaluate
> >
> > - after the final 14.x release (September 2027):
> >
> >    - MFC removals of i386 and powerpc code to stable/15
> >
> > Note that until the code for these platforms is actually removed, the
> > build infrastructure will remain in the tree on both main and
> > stable/15, and the deprecated targets will still be buildable
> > manually, for example using `make buildworld TARGET_ARCH=i386`.
> >
> > -- 
> > John Baldwin
> >
> 
> 
> -- 
> Cheers,
> Cy Schubert <Cy.Schubert@cschubert.com>
> FreeBSD UNIX:  <cy@FreeBSD.org>   Web:  https://FreeBSD.org
> NTP:           <cy@nwtime.org>    Web:  https://nwtime.org
> 
> 			e**(i*pi)+1=0
> 
>