This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH] change GLIBC PPC64/ELF2 ABI default to 2.17
- From: Andreas Jaeger <aj at suse dot com>
- To: munroe at us dot ibm dot com, sjmunroe at us dot ibm dot com, libc-alpha at sourceware dot org
- Cc: Adhemerval Zanella <azanella at linux dot vnet dot ibm dot com>, Carlos O'Donell <carlos at redhat dot com>, Andreas Schwab <schwab at linux-m68k dot org>, Roland McGrath <roland at hack dot frob dot com>, Adam Conrad <adconrad at 0c3 dot net>
- Date: Fri, 31 Jan 2014 22:10:07 +0100
- Subject: Re: [PATCH] change GLIBC PPC64/ELF2 ABI default to 2.17
- Authentication-results: sourceware.org; auth=none
- References: <1391008726 dot 16702 dot 105 dot camel at spokane1 dot rchland dot ibm dot com> <1391134218 dot 8757 dot 120 dot camel at oc8268013063 dot ibm dot com>
On 01/31/2014 03:10 AM, Steven Munroe wrote:
> On Wed, 2014-01-29 at 09:18 -0600, Steven Munroe wrote:
>> Starting a new platform is always more complicated then we would like
>> and we often find examples where the needs of the larger Linux community
>> trumps our initial assumptions.
>>
>> Each distribution decides how it will support a new platform and we have
>> requests to allow for back-ports of PPC64LE ELF2 to a GLIBC-2.17.
>>
>> To support the larger Linux community we need to insure forward
>> compatibility across releases, and this implies setting the GLIBC
>> powerpc.*le-.*-linux.* default back 2.17.
>>
>> We are not asking to apply this patch retroactively to the GLIBC-2.17
>> source. But we like to get this patch accepted upstream to serve notice
>> to all involved (in PPC64LE) that GLIBC-2.17 is the oldest symbol set,
>> and promise this it final word on the topic.
>>
>> We also ask that all distributions apply this patch and ELF2 ABI patches
>> if they planing to support the PPC64LE platform and doing a back port of
>> the to GLIBC-2.17 or 2.18.
>>
>
> So we have had a spirited debate and expressed our issues in a
> forthright manner. Clearly this is frustrating to many of you but I also
> see a developing consensus.
>
> * GLIBC-2.19 is the first official release for the new PPC64LE
> ELF2 ABI.
> * GLIBC-2.19 establishes the basis for compatibility for the ABI.
> * GLIBC-2.19 will establish the "default or minimum" version for
> this ABI.
> * Once GLIBC-2.19 is released the "default" version should not
> change (ever!).
> * Any back-ports of this ABI to older versions of GLIBC are
> responsible to maintaining forward compatibility to 2.19.
> * No back-ports will be supported earlier then "default" set in
> the official GLIBC-2.19 release.
>
> Does anyone disagree with the statements above?
>
> Currently (upstream) the "default" version is set to 2.18. We have a
> request to move than back to 2.17. Other have expressed the opinion that
> the ABI should no exist before 2.19.
>
> In reality there is a lot of parallel development based on early
> versions of this ABI across many (hundreds) developers (community and
> corporate). We can not stop this and we never want to. But we do need to
> bring order to what is now a somewhat chaotic situation.
>
> Anyone involved in early development of a new platform and ABI is
> exposed to one or more resets. Reasons include changing to the final
> GLIBC ABI and version enforcement or nasty pervasive compiler bugs,
> among others.
>
> Jeff and Carlos are looking at means to reduce the reset from a "full
> bootstrap and rebuild the world" to just a "automated rebuilt the
> world". All of us in active development are concerned about this and I
> hope they will share their solution.
>
> Now I would to explore the implications of the most contentious issue:
>
> 1) Changing the default to 2.19 would force a reset for everyone evolved
> in the PPC64LE ELf2 ABI today. It would also exclude (for some long
> period of time) some of the current distributors.
And this is how it was handled in the past - both x86-64 and x32 had to
change their default when they were committed in glibc.
> 2) Leaving the default at 2.18 would reduce (but not eliminate) the risk
> for some distributors (2.18 back-ports) but still excludes others (again
> for some long period of time).
>
> 3) Changing the default to 2.17 would also force a reset for everyone
> evolved in the PPC64LE ELf2 ABI today. It is also the most inclusive and
> in the long run provides a larger and more inviting ecosystem for the
> new platform. It still established definite boundary moving forward.
If this is a vote, I'm torn between 1 - with my glibc head on looking at
the "sane" approach - and 2 - the easy approach from an openSUSE
perspective.
> Anyone using development drivers that do on fit into any of the
> categories above will have to rebuild regardless. They should know this
> already.
>
> As the PowerPC platform maintainer I think option 3 is the best interest
> of the platform. It may involve some short term pain (rebuilt the world)
> for some, but is fair (every one must conform to the ABI established for
> GLIBC-2.19 by the community). It is the most inclusive in, that everyone
> we know of now can participate. And anyone else that might show up later
> will have well defined rules to play by.
Having to have this discussion at all is not in the best of the platform ;)
Enough has been said on this, I'm fine to have Joseph throw a dice or
give some final words of wisdom ;)
Andreas
--
Andreas Jaeger aj@{suse.com,opensuse.org} Twitter/Identica: jaegerandi
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 NÃrnberg, Germany
GF: Jeff Hawn,Jennifer Guild,Felix ImendÃrffer,HRB16746 (AG NÃrnberg)
GPG fingerprint = 93A3 365E CE47 B889 DF7F FED1 389A 563C C272 A126