Re: Deprecation of i386 and 32-bit powerpc for 15.0
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 > >