Policy for removing target support

Jan Beulich jbeulich@suse.com
Mon Sep 15 14:32:36 GMT 2025


On 15.09.2025 13:28, Rainer Orth wrote:
> Hi Jan, Nick,

Properly handing to Nick, by putting him in To:. I had voiced view,
after all.

Jan

>>>>> I understand that; what I don't understand is which of the entries this
>>>>> covers. We don't have anything named e.g. "solaris9" in binutils.
>>>>
>>>> that's because config.guess has kept the Solaris 2.x nomenclature even
>>>> after Sun changed the naming from Solaris 2.7 to Solaris 7 immediately
>>>> before the release.  The Solaris name was used for the OS as a whole,
>>>> while the core OS is still called SunOS 5.7.  Since the configure triple
>>>> is derived from uname -s (SunOS) and -r (5.7), you still arrive at
>>>> *-*-solaris2.7.  Much of this is handled by wildcards in config.bfd and
>>>> configure.ld so not immediately visible in those scripts.  My overview
>>>> of new cases upthread intends to make this more explicit.
>>>
>>> Right, just that you didn't map the versions to our numbering scheme,
>>> thus leaving things unclear to anyone not familiar with the odd mapping
>>> that you describe above.
>>
>> I see: I'd assumed this was relatively common knowledge since it has
>> been this way for a decade and a half.
>>
>>>> I know this can be confusing, but that's the way things are.
>>>>
>>>> If the obsoletion/removal would go through, everything except
>>>> *-*-solaris2.1[01]* would go and *-*-solaris2.[0-9]* be rejected
>>>> in config.bfd.
>>>
>>> That's what I was fearing. People (like me) may have got used to simply
>>> saying "solaris2" in target specifiers. Sure, I (and others) can adjust
>>> their scripts and habits, but would that be for any gain? IOW would any
>>> actual code simplification result afterwards? Or in yet different words,
>>> have I perhaps failed to properly test the Solaris ports by saying just
>>> "2"?
>>
>> In general, solaris2* is ok in all but config.bfd and configure.tgt.  I
>> doubt we have many cases where things differ, so you should be fine
>> without change.
>>
>> The primary benefit of obsoletion/removal would be to make the supported
>> versions explicit.  As I said, I haven't yet checked in detail if/which
>> parts of code with anything < Solaris 10 removed from the test matrix
>> could go.
> 
> how should we proceed here then?  I see three options:
> 
> * Remove support for Solaris < 10 immediately.
> 
>   Given that all affected targets are long dead, support for them in
>   GCC has been removed between 10 and 12 years ago and they don't even
>   build since binutils 2.41, there's little point claiming support if it
>   doesn't actually work and nobody noticed.
> 
> * Alternatively, one could obsolete them instead and remove support at a
>   later point (when?).  That has the disadvantage of leaving the support
>   in bfd/config.bfd and ld/configure.tgt more complex than necessary and
>   sort of advertising support for OS versions that don't actually work.
> 
> * Do nothing.
> 
> For comparison's sake, the GCC policy for removal is simple: the target
> has still to be in active use *and* there needs to be someone who
> regularly tests it, reports and fixes bugs.  That wont certainly be me:
> I didn't remove the GCC support only to keep testing prehistoric OS
> versions in Binutils.
> 
> 	Rainer
> 



More information about the Binutils mailing list