Policy for removing target support
Jan Beulich
jbeulich@suse.com
Wed Sep 10 15:46:09 GMT 2025
On 10.09.2025 17:34, Rainer Orth wrote:
> I'm currently working on PR ld/33374 where ld on Solaris claims support
> for emulations that are actually rejected. While looking into this, I
> noticed quite a few inconsistencies in both bfd/config.bfd and
> ld/configure.tgt in that area, together with cleanup opportunities with
> the Solaris linker emulations.
>
> While working on this, I noticed that many long obsolete versions of
> Solaris are still listed in both files. However, I wonder if there's
> any use in keeping them since I'm almost certain nobody still uses, let
> alone tests them. While I do have Solaris systems back to Solaris 8 if
> really need be, I use them only very rarely for digging into history.
> In fact, I've removed Solaris support in GCC for all versions before
> Solaris 11.4:
>
> OS version removed from GCC
> release year
>
> Solaris 7 4.6 2011 64-bit SPARC support
> 8 4.8 2013
> 9 5 2015
> 10 10 2020 64-bit x86 support
> < 11.4 15 2025
First - how do these version map to what we use in binutils. For example,
in bfd/config.bfd all mentions of "solaris" are "solaris2" or longer.
ld/configure.tgt has a few without the "2". (I'm simply trying to
understand which particular entries there you consider purging.)
> As you can see, many have been removed from GCC for more than a decade
> and I don't see much use in developers being able to use current
> versions of binutils with an ancient version of gcc, if the combination
> builds and works at all.
>
> My suggestion would be to remove support for any version before Solaris 10.
> While the code to be removed would not be large (mostly sections in
> config.bfd and configure.tgt), we'd be left with only configurations
> where the OS is 64-bit capable, so no need to handle 32-bit-only
> configs.
>
> However, I wonder what the binutils policy for such removals is. When I
> suggested removing IRIX 5 and 6 and Tru64 UNIX support a couple of years
> ago, that met with considerable resistance (especially for IRIX)
> although support had been removed from GCC in 4.6 (IRIX < 6.5, Tru64
> UNIX V4/V5.0) resp. 4.8 (IRIX 6.5 and Tru64 UNIX V5.1B).
Generally I think we want to be more conservative with removal than gcc is.
People may want to be able to use a somewhat older gcc with up-to-date
binutils. Especially when newer gcc has their favorite target removed.
This doesn't, however, mean we should carry everything indefinitely.
Jan
More information about the Binutils
mailing list