This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: Reverting the s390 jmp_buf/ucontext_t ABI change
- From: "Carlos O'Donell" <carlos at redhat dot com>
- To: Richard Henderson <rth at twiddle dot net>, Stefan Liebler <stli at linux dot vnet dot ibm dot com>, libc-alpha at sourceware dot org
- Date: Fri, 25 Jul 2014 14:10:03 -0400
- Subject: Re: Reverting the s390 jmp_buf/ucontext_t ABI change
- Authentication-results: sourceware.org; auth=none
- References: <201407221441 dot s6MEfA1P017456 at d06av02 dot portsmouth dot uk dot ibm dot com> <lqt0ev$ben$1 at ger dot gmane dot org> <53D28E85 dot 3060605 at twiddle dot net>
On 07/25/2014 01:06 PM, Richard Henderson wrote:
> On 07/24/2014 09:19 PM, Stefan Liebler wrote:
>> and the resulting nm setjmp/setjmp.os:
>> 0000000000000008 T __GI__setjmp
>> 0000000000000010 W __setjmp
>> 0000000000000010 T __setjmp@@GLIBC_2.2
>> 0000000000000010 T __setjmp@GLIBC_2.19
>
> I don't think you should create a weak unversioned symbol like this.
> Just leave the two versioned symbols.
Agreed. There should be no global unversioned symbols.
You should have a default for the 2.2 ABI, which you do,
and an entry for the 2.19 version, and you do.
The other way to work around this is to make the 2.19
version a wrapper with a distinct name. With the semi-broken
intermediate binaries taking the penalty of an additional
function call until they are rebuilt. I'm happy to see the
implementation be cleaner, than perfectly optimal for binaries
we should rebuild anyway.
Cheers,
Carlos.