public inbox for libc-alpha@sourceware.org
 help / color / mirror / Atom feed
* IFUNCs in libpthread
@ 2017-05-18 18:24 Steve Ellcey
  2017-05-18 18:47 ` Florian Weimer
  0 siblings, 1 reply; 2+ messages in thread
From: Steve Ellcey @ 2017-05-18 18:24 UTC (permalink / raw)
  To: libc-alpha

I have a question about multiarch directories and IFUNC.  I am
looking at the possibility of making pthread_spin_lock an IFUNC
on aarch64 so that there can be a version using LSE instructions
if they are available.  Right now, the only IFUNC's are in libc,
so having one in libpthread would be a new situation.

I am trying to decide if the multiarch routines should be in
sysdeps/aarch64/multiarch (where libc multiarch files go and
where I would like to put my memcpy/memmove IFUNCs), or if
I should create a sysdeps/aarch64/multiarch/nptl directory or
perhaps a sysdeps/aarch64/nptl/multiarch directory.

What do people think?  Is there a preference for where these
should go?  I think any location is going to require some Makefile
or configure changes and I would like to have some idea of the
'right' place before I work on that.

Steve Ellcey
sellcey@cavium.com

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: IFUNCs in libpthread
  2017-05-18 18:24 IFUNCs in libpthread Steve Ellcey
@ 2017-05-18 18:47 ` Florian Weimer
  0 siblings, 0 replies; 2+ messages in thread
From: Florian Weimer @ 2017-05-18 18:47 UTC (permalink / raw)
  To: Steve Ellcey; +Cc: libc-alpha

On 05/18/2017 08:24 PM, Steve Ellcey wrote:
> I have a question about multiarch directories and IFUNC.  I am
> looking at the possibility of making pthread_spin_lock an IFUNC
> on aarch64 so that there can be a version using LSE instructions
> if they are available.  Right now, the only IFUNC's are in libc,
> so having one in libpthread would be a new situation.

We already have IFUNCs in libpthread for forwarding to the libc
implementations, to avoid a linker error, code duplication, and in the
case of vfork, semantic problems.

> I am trying to decide if the multiarch routines should be in
> sysdeps/aarch64/multiarch (where libc multiarch files go and
> where I would like to put my memcpy/memmove IFUNCs), or if
> I should create a sysdeps/aarch64/multiarch/nptl directory or
> perhaps a sysdeps/aarch64/nptl/multiarch directory.

I don't think the separate directory is strictly required.

Thanks,
Florian

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2017-05-18 18:47 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-05-18 18:24 IFUNCs in libpthread Steve Ellcey
2017-05-18 18:47 ` Florian Weimer

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).