[PATCH] x86-64: Implement strcpy family IFUNC selectors in C

Zack Weinberg zackw@panix.com
Sun Jun 11 14:10:00 GMT 2017


On 06/11/2017 09:50 AM, H.J. Lu wrote:
> Implement strcpy family IFUNC selectors in C.
> 
> All internal calls within libc.so can use IFUNC on x86-64 since unlike
> x86, x86-64 doesn't need to reserve a register to make a PLT call.  For
> libc,a, we can't use IFUNC for functions which are called before IFUNC
> has been initialized.  Use IFUNC internally reduces the icache footprint
> since libc.so and other codes in the process use the same implementations.
> The patch uses IFUNC for strcpy family functions within libc.
> 
> Any comments?

I like the idea, but I don't understand ifuncs nearly well enough to
comment on your code.  I recall _strenuous_ objections to this concept
in the past; please post some performance numbers or something.

zw



More information about the Libc-alpha mailing list