This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] change GLIBC PPC64/ELF2 ABI default to 2.17


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.

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.

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.





Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]