This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH 0/2] Multiarch hooks for memcpy variants


On Mon, Aug 14, 2017 at 9:22 AM, Wilco Dijkstra <Wilco.Dijkstra@arm.com> wrote:
>
> I still can't see any reason to even support these entry points in GLIBC, let
> alone optimize them using ifuncs.

They are already exported by libc.so.6 so we are stuck with them, but
what if we demote the copies in libc.so.6 to compat symbols and shove
the "real" versions into libc_nonshared.a? Then their calls to their
"normal" counterparts will naturally go through the PLT and hit the
"proper" ifuncs, without any messing around with assembly language.
The compat symbols can continue to call the 'generic' functions until
we get around to deciding we want to stop bypassing the PLT for
intra-libc ifunc calls.

Also it took something like 20 years to get all the counterproductive
inline functions out of string.h, let's not be putting them back now.
I _like_ the idea of inlining the runtime check done by the _chk entry
points, but it should be done in the compiler, and the compiler might
still prefer to call the _chk entry points when optimizing for size.

zw


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]