Re: Deprecation of i386 and 32-bit powerpc for 15.0
Date: Fri, 20 Jun 2025 17:40:15 UTC
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? > > - 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