[0/7] nptl: Move barrier implemention into libc

Message ID cover.1620051965.git.fweimer@redhat.com
Headers
Series nptl: Move barrier implemention into libc |

Message

Florian Weimer May 3, 2021, 2:31 p.m. UTC
  A minor complication is that the message queue implementation uses
barriers to communicate with its helper thread, but is still in
libpthread, so private exports had to be added.

Tested on i686-linux-gnu, powerpc64le-linux-gnu, x86_64-linux-gnu.
Built with build-many-glibcs.py.

Florian Weimer (7):
  nptl: Move pthread_barrier_destroy into libc
  nptl: Move pthread_barrier_init into libc
  nptl: Move pthread_barrier_wait into libc
  nptl: Move pthread_barrierattr_destroy into libc
  nptl: Move pthread_barrierattr_init into libc
  nptl: Move pthread_barrierattr_getpshared into libc
  nptl: Move pthread_barrierattr_setpshared into libc

 include/pthread.h                             |  3 +++
 nptl/Makefile                                 | 14 +++++------
 nptl/Versions                                 | 25 ++++++++++++-------
 nptl/pthread_barrier_destroy.c                | 11 ++++++--
 nptl/pthread_barrier_init.c                   | 15 ++++++++---
 nptl/pthread_barrier_wait.c                   | 14 +++++++++--
 nptl/pthread_barrierattr_destroy.c            | 11 ++++++--
 nptl/pthread_barrierattr_getpshared.c         | 11 ++++++--
 nptl/pthread_barrierattr_init.c               | 11 ++++++--
 nptl/pthread_barrierattr_setpshared.c         | 11 ++++++--
 sysdeps/unix/sysv/linux/aarch64/libc.abilist  | 14 +++++++++++
 .../sysv/linux/aarch64/libpthread.abilist     |  7 ------
 sysdeps/unix/sysv/linux/alpha/libc.abilist    | 14 +++++++++++
 .../unix/sysv/linux/alpha/libpthread.abilist  |  7 ------
 sysdeps/unix/sysv/linux/arc/libc.abilist      | 14 +++++++++++
 .../unix/sysv/linux/arc/libpthread.abilist    |  7 ------
 sysdeps/unix/sysv/linux/arm/be/libc.abilist   | 14 +++++++++++
 .../unix/sysv/linux/arm/be/libpthread.abilist |  7 ------
 sysdeps/unix/sysv/linux/arm/le/libc.abilist   | 14 +++++++++++
 .../unix/sysv/linux/arm/le/libpthread.abilist |  7 ------
 sysdeps/unix/sysv/linux/csky/libc.abilist     | 14 +++++++++++
 .../unix/sysv/linux/csky/libpthread.abilist   |  7 ------
 sysdeps/unix/sysv/linux/hppa/libc.abilist     | 14 +++++++++++
 .../unix/sysv/linux/hppa/libpthread.abilist   |  7 ------
 sysdeps/unix/sysv/linux/i386/libc.abilist     | 14 +++++++++++
 .../unix/sysv/linux/i386/libpthread.abilist   |  7 ------
 sysdeps/unix/sysv/linux/ia64/libc.abilist     | 14 +++++++++++
 .../unix/sysv/linux/ia64/libpthread.abilist   |  7 ------
 .../sysv/linux/m68k/coldfire/libc.abilist     | 14 +++++++++++
 .../linux/m68k/coldfire/libpthread.abilist    |  7 ------
 .../unix/sysv/linux/m68k/m680x0/libc.abilist  | 14 +++++++++++
 .../sysv/linux/m68k/m680x0/libpthread.abilist |  7 ------
 .../sysv/linux/microblaze/be/libc.abilist     | 14 +++++++++++
 .../linux/microblaze/be/libpthread.abilist    |  7 ------
 .../sysv/linux/microblaze/le/libc.abilist     | 14 +++++++++++
 .../linux/microblaze/le/libpthread.abilist    |  7 ------
 .../sysv/linux/mips/mips32/fpu/libc.abilist   | 14 +++++++++++
 .../sysv/linux/mips/mips32/libpthread.abilist |  7 ------
 .../sysv/linux/mips/mips32/nofpu/libc.abilist | 14 +++++++++++
 .../sysv/linux/mips/mips64/libpthread.abilist |  7 ------
 .../sysv/linux/mips/mips64/n32/libc.abilist   | 14 +++++++++++
 .../sysv/linux/mips/mips64/n64/libc.abilist   | 14 +++++++++++
 sysdeps/unix/sysv/linux/nios2/libc.abilist    | 14 +++++++++++
 .../unix/sysv/linux/nios2/libpthread.abilist  |  7 ------
 .../linux/powerpc/powerpc32/fpu/libc.abilist  | 14 +++++++++++
 .../powerpc/powerpc32/libpthread.abilist      |  7 ------
 .../powerpc/powerpc32/nofpu/libc.abilist      | 14 +++++++++++
 .../linux/powerpc/powerpc64/be/libc.abilist   | 14 +++++++++++
 .../powerpc/powerpc64/be/libpthread.abilist   |  7 ------
 .../linux/powerpc/powerpc64/le/libc.abilist   | 14 +++++++++++
 .../powerpc/powerpc64/le/libpthread.abilist   |  7 ------
 .../unix/sysv/linux/riscv/rv32/libc.abilist   | 14 +++++++++++
 .../sysv/linux/riscv/rv32/libpthread.abilist  |  7 ------
 .../unix/sysv/linux/riscv/rv64/libc.abilist   | 14 +++++++++++
 .../sysv/linux/riscv/rv64/libpthread.abilist  |  7 ------
 .../unix/sysv/linux/s390/s390-32/libc.abilist | 14 +++++++++++
 .../linux/s390/s390-32/libpthread.abilist     |  7 ------
 .../unix/sysv/linux/s390/s390-64/libc.abilist | 14 +++++++++++
 .../linux/s390/s390-64/libpthread.abilist     |  7 ------
 sysdeps/unix/sysv/linux/sh/be/libc.abilist    | 14 +++++++++++
 .../unix/sysv/linux/sh/be/libpthread.abilist  |  7 ------
 sysdeps/unix/sysv/linux/sh/le/libc.abilist    | 14 +++++++++++
 .../unix/sysv/linux/sh/le/libpthread.abilist  |  7 ------
 .../sysv/linux/sparc/sparc32/libc.abilist     | 14 +++++++++++
 .../linux/sparc/sparc32/libpthread.abilist    |  7 ------
 .../sysv/linux/sparc/sparc64/libc.abilist     | 14 +++++++++++
 .../linux/sparc/sparc64/libpthread.abilist    |  7 ------
 .../unix/sysv/linux/x86_64/64/libc.abilist    | 14 +++++++++++
 .../sysv/linux/x86_64/64/libpthread.abilist   |  7 ------
 .../unix/sysv/linux/x86_64/x32/libc.abilist   | 14 +++++++++++
 .../sysv/linux/x86_64/x32/libpthread.abilist  |  7 ------
 71 files changed, 543 insertions(+), 234 deletions(-)
  

Comments

Florian Weimer May 5, 2021, 7:36 p.m. UTC | #1
* Florian Weimer via Libc-alpha:

> A minor complication is that the message queue implementation uses
> barriers to communicate with its helper thread, but is still in
> libpthread, so private exports had to be added.
>
> Tested on i686-linux-gnu, powerpc64le-linux-gnu, x86_64-linux-gnu.
> Built with build-many-glibcs.py.

I've pushed a rebase series to fw/libpthread-barrier.  (Not sure if
everybody is using the abilist merge driver I posted, it can handle such
conflicts automatically.)

Thanks,
Florian