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 01/31/2014 02:02 AM, Jeff Law wrote:
> On 01/30/14 19:10, Steven Munroe wrote:
>> 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?
> Not me.  I agree with everything stated above.

I also agree with everything stated there.

The contentious issue is that lowering the baseline ABI to 2.17 will
force an ABI break that is normally solved by redoing the bootstrap
and rebuilding the world. The bootstrap process is manual and takes
a lot of time.

Hopefully we can avoid the bootstrap.
 
>>
>> 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.

> Anything we come up with will certainly be shared. Ideally what we're
> looking at would allow a system with both old and new binaries to
> work for a period of time so that the transition is a rebuild, not a
> re-bootstrap. I repeat, it'll be a hack -- nothing that could ever be
> upstreamed, just something to reduce the pain of the change if it's
> installed. Once the rebuild is complete, the hack should be removed,
> possibly requiring another rebuild/reinstall of just glibc to do so.

I've posted the initial solution:
https://sourceware.org/ml/libc-alpha/2014-01/msg00739.html

In summary: We make 2.17 and 2.18 equivalent.

It's a hack, and should never be used in production, but it lets you
turn the rebuild crank automatically.
 
> And just to be clear, Carlos is doing the heavy lifting here, I'm
> mostly throwing out ideas. His knowledge of glibc exceeds mine by
> orders of magnitude.
 
*blush*
 
>> 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.
> As I'm sure you know, I favor #3.

I also favour #3, but given that we're both at Red Hat I think that only
counts as one "Yay."

Cheers,
Carlos.


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