This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH rsa/power8_partial]
- From: Roland McGrath <roland at hack dot frob dot com>
- To: Richard Henderson <rth at twiddle dot net>
- 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:42:02 -0700 (PDT)
- 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> <51C4A6E2 dot 3000905 at twiddle dot net>
> 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...
That only flies (at the marginal altitude it can achieve at all) if the
program requires some GLIBC_2.18 symbols for some other reason. Otherwise
you can build with 2.18 and get a binary that happily runs with an older
rtld but wrongly thinks its selectors' second argument is not 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.
Right. I think we discussed this before and it should work if used, but
it's less clear how we can arrange to make it highly likely that people
writing IFUNC selectors will actually use it. (I vaguely recall suggesting
some selector-defining macros or something.)
Thanks,
Roland