> On 24 August 2016 at 11:26, Adam Richter <adamricht...@gmail.com> wrote:
> > I hope that that consideration, combined with the micro-costs to
> > readability and portability of using and ELF specific and perhaps
> > currently GCC specific feature might tip the balance against the
> > savings of a level of function call indirection that I assume the use
> > of ifunc was intended to provide.
> 
> It doesn't actually save a level of indirection -- if you single step
> through an ifunc call it goes via some ELF section. The thing it
> does save is that you don't pay the cost of figuring out the right
> ifunc to use on this system at startup, but only when the ifunc call
> path is first used. That's useful for a big thing like glibc which
> might have lots of ifuncs and not want to pay a big startup cost,
> but for QEMU there's really no need given we only have one...

It does save a level of indirection after the first call AFAIK, but
it shouldn't be measurable.

Paolo

Reply via email to