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: "Carlos O'Donell" <carlos at redhat dot com>
- To: Jeff Law <law at redhat dot com>, 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>, 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 03:48:22 -0500
- 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> <52EB4A9A dot 5010703 at redhat dot com>
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.