PATCH: Check GLIBC_IFUNC to enable/disable ifunc features

H.J. Lu hjl.tools@gmail.com
Thu Jun 30 12:01:00 GMT 2016


On Thu, Jun 30, 2016 at 4:44 AM, Siddhesh Poyarekar
<siddhesh@sourceware.org> wrote:
> On Thu, Jun 30, 2016 at 04:34:53AM -0700, H.J. Lu wrote:
>> Another concern is we only need to check one GLIBC_IFUNC and
>> done.  With GLIBC_IFUNC_X86_XXX, it becomes open ended. I
>> really want to avoid it.
>
> I don't understand, could you please elaborate?

My scheme is

do
{
  if (*env == GLIBC_IFUNC=.*)
   {
      process
      break
   }
  env++
}

We only need to check GLIBC_IFUNC only if it hasn't been found.  With
GLIBC_IFUNC_X86_XXX, we have to do

do
  {
     if (*env == GLIBC_IFUNC_X86_*)
       process
     env++
  }

We need to check GLIBC_IFUNC_X86 in each iteration.


-- 
H.J.



More information about the Libc-alpha mailing list