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

From: Cy Schubert <Cy.Schubert_at_cschubert.com>
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