This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH rsa/power8_partial]
- From: Richard Henderson <rth at twiddle dot net>
- To: Roland McGrath <roland at hack dot frob dot com>
- Cc: Ryan S Arnold <rsa at linux dot vnet dot ibm dot com>, libc-alpha at sourceware dot org
- Date: Fri, 21 Jun 2013 12:17:54 -0700
- Subject: Re: [PATCH rsa/power8_partial]
- References: <1371828104 dot 4379 dot 3 dot camel at localhost dot localdomain> <51C47DFF dot 2070000 at twiddle dot net> <20130621182739 dot BF4242C14C at topped-with-meat dot com>
On 06/21/2013 11:27 AM, Roland McGrath wrote:
> We could make rtld start passing an extra 0 argument now and that
> will vaguely narrow the range of glibc releases whose rtld is not
> compatible with IFUNC selectors that want to use the new bits.
> That has epsilon risk and maybe nonzero utility pending figuring out
> what we can actually do about the versioning problem (if there's
> anything that we really can do at all).
I suppose if we pass 0 now, then we can examine the second argument
iff AT_HWCAP2 is defined. It might not be accurate, but it won't be
garbage...
Failing that, I've wondered about some sort of
asm(".extern __ld_so_ifunc_args_2");
hack to get an undefined symbol into symtab of any user that requires two
arguments. Then ld.so provides the symbol in version N. Any program so built
will either fail to link against too old libc, or add the symbol version to its
.gnu.version_r section and fail to run on too old libc.
r~