This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: Fwd: non-ifunc pt-vfork
- From: Richard Henderson <rth at twiddle dot net>
- To: Roland McGrath <roland at hack dot frob dot com>
- Cc: libc-alpha <libc-alpha at sourceware dot org>
- Date: Fri, 23 May 2014 14:00:58 -0700
- Subject: Re: Fwd: non-ifunc pt-vfork
- Authentication-results: sourceware.org; auth=none
- References: <537F75A9 dot 6070503 at twiddle dot net> <537F7E5E dot 2030500 at twiddle dot net> <20140523204323 dot BA7102C3B74 at topped-with-meat dot com>
On 05/23/2014 01:43 PM, Roland McGrath wrote:
>> +/* WARNING: If the compiler cannot turn this into a tail call,
>> + then this mechanism will fail. The parent will save a return
>> + address on the stack which will be clobbered by the child. */
>
> Good point. That should have occurred to me.
>
>> or to remove the non-ifunc portion of this file entirely. It does seem like
>> this sort of thing is going to have to be decided on a host-by-host basis,
>> and at least unavailable ifunc will error out at compile-time.
>
> That would be fine with me.
>
>> Alternately, we could drop this tail call stuff and just include vfork.os in
>> libpthread.so. It's not like it's a gigantic object file...
>
> Any individual machine is free to do that.
Oh, I forgot to ask -- were you intending to make the pthread vfork
non-default, so that new programs would always link to the libc vfork?
r~