[libc-coord] Re: RSEQ symbols: __rseq_size, __rseq_flags vs __rseq_feature_size

Szabolcs Nagy szabolcs.nagy@arm.com
Tue Sep 20 11:51:11 GMT 2022


The 09/16/2022 11:41, Chris Kennelly wrote:
> > >
> > > 2) Implement the entire function as IFUNC and select whether a rseq or
> > >     non-rseq implementation should be used at C startup. The tradeoff
> > >     here is code size vs speed, and using IFUNC for things like malloc
> > >     may add additional constraints on the startup order.
> >
> 
> IFUNC has significant performance overheads as well.  For frequently used
> code (like memcpy), avoiding them has been an optimization for us (
> https://research.google/pubs/pub50338/) even if it leaves some nominal
> microbenchmark performance on the table.

only in static linked exe. which is not the important case for distros
that want the ability to update the libc with security fixes.

glibc is not optimized for static linking, if that's a requirement that
should be a separate discussion (it's not just about ifunc).


More information about the Libc-alpha mailing list