[00/19] nptl: Move most C11 symbols into libc

Message ID cover.1619456219.git.fweimer@redhat.com
Headers
Series nptl: Move most C11 symbols into libc |

Message

Florian Weimer April 26, 2021, 4:59 p.m. UTC
  thrd_create, thrd_detach, thrd_join cannot be moved yet because the
corresponding POSIX functions have not been moved.

I removed GLIBC_PRIVATE and GLIBC_2.34 symbol versions along the way, as
appropriate.

The first commit enables symbol moves to shared code that should not yet
impact Hurd.  It could perhaps be reviewed seprately because further
work depends on it (which will not conflict with this series on a
textual level).

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

Thanks,
Florian

Florian Weimer (19):
  Add pthread-in-libc, libpthread-routines-var, librt-routines-var
  nptl: Move call_once into libc
  nptl: Move cnd_broadcast into libc
  nptl: Move cnd_destroy into libc
  nptl: Move cnd_init into libc
  nptl: Move cnd_signal into libc
  nptl: Move cnd_timedwait into libc
  nptl: Move cnd_wait into libc
  nptl: Move mtx_destroy into libc
  nptl: Move mtx_init into libc
  nptl: Move mtx_lock into libc
  nptl: Move mtx_timedlock into libc
  nptl: Move mtx_trylock into libc
  nptl: Move mtx_unlock into libc
  nptl: Move thrd_exit into libc
  nptl: Move tss_create into libc
  nptl: Move tss_delete into libc
  nptl: Move tss_get into libc
  nptl: Move tss_set into libc

 Makeconfig                                    | 11 +++
 config.h.in                                   |  3 +
 config.make.in                                |  1 +
 configure                                     |  8 +++
 configure.ac                                  |  6 ++
 nptl/Versions                                 | 70 ++++++++++---------
 nptl/pthreadP.h                               |  3 +
 nptl/pthread_cond_broadcast.c                 |  5 +-
 nptl/pthread_cond_signal.c                    |  5 +-
 nptl/pthread_cond_wait.c                      | 12 ++--
 nptl/pthread_getspecific.c                    |  7 +-
 nptl/pthread_key_delete.c                     |  6 +-
 nptl/pthread_mutex_destroy.c                  |  7 +-
 nptl/pthread_mutex_init.c                     |  8 ++-
 nptl/pthread_mutex_timedlock.c                |  8 ++-
 nptl/pthread_mutex_trylock.c                  |  8 ++-
 nptl/pthread_mutexattr_init.c                 |  6 +-
 nptl/pthread_mutexattr_settype.c              |  6 +-
 nptl/pthread_once.c                           |  4 +-
 nptl/pthread_setspecific.c                    |  9 ++-
 rt/Makefile                                   |  2 +
 sysdeps/mach/hurd/configure                   |  3 +
 sysdeps/mach/hurd/configure.ac                |  3 +
 sysdeps/nptl/libc-lockP.h                     | 18 +++--
 sysdeps/pthread/Makefile                      | 28 ++++++--
 sysdeps/pthread/call_once.c                   | 11 ++-
 sysdeps/pthread/cnd_broadcast.c               | 11 ++-
 sysdeps/pthread/cnd_destroy.c                 | 11 ++-
 sysdeps/pthread/cnd_init.c                    | 11 ++-
 sysdeps/pthread/cnd_signal.c                  | 11 ++-
 sysdeps/pthread/cnd_wait.c                    | 11 ++-
 sysdeps/pthread/mtx_destroy.c                 | 11 ++-
 sysdeps/pthread/mtx_init.c                    | 11 ++-
 sysdeps/pthread/mtx_lock.c                    | 11 ++-
 sysdeps/pthread/mtx_trylock.c                 | 11 ++-
 sysdeps/pthread/mtx_unlock.c                  | 11 ++-
 sysdeps/pthread/thrd_exit.c                   | 11 ++-
 sysdeps/pthread/tss_create.c                  | 11 ++-
 sysdeps/pthread/tss_delete.c                  | 11 ++-
 sysdeps/pthread/tss_get.c                     | 11 ++-
 sysdeps/pthread/tss_set.c                     | 11 ++-
 sysdeps/unix/sysv/linux/aarch64/libc.abilist  | 44 +++++++++---
 .../sysv/linux/aarch64/libpthread.abilist     | 18 -----
 sysdeps/unix/sysv/linux/alpha/libc.abilist    | 44 +++++++++---
 .../unix/sysv/linux/alpha/libpthread.abilist  | 18 -----
 sysdeps/unix/sysv/linux/arc/libc.abilist      | 44 +++++++++---
 .../unix/sysv/linux/arc/libpthread.abilist    | 18 -----
 sysdeps/unix/sysv/linux/arm/be/libc.abilist   | 44 +++++++++---
 .../unix/sysv/linux/arm/be/libpthread.abilist | 18 -----
 sysdeps/unix/sysv/linux/arm/le/libc.abilist   | 44 +++++++++---
 .../unix/sysv/linux/arm/le/libpthread.abilist | 18 -----
 sysdeps/unix/sysv/linux/cnd_timedwait.c       | 21 ++++--
 sysdeps/unix/sysv/linux/csky/libc.abilist     | 44 +++++++++---
 .../unix/sysv/linux/csky/libpthread.abilist   | 18 -----
 sysdeps/unix/sysv/linux/hppa/libc.abilist     | 44 +++++++++---
 .../unix/sysv/linux/hppa/libpthread.abilist   | 18 -----
 sysdeps/unix/sysv/linux/i386/libc.abilist     | 44 +++++++++---
 .../unix/sysv/linux/i386/libpthread.abilist   | 18 -----
 sysdeps/unix/sysv/linux/ia64/libc.abilist     | 44 +++++++++---
 .../unix/sysv/linux/ia64/libpthread.abilist   | 18 -----
 .../sysv/linux/m68k/coldfire/libc.abilist     | 44 +++++++++---
 .../linux/m68k/coldfire/libpthread.abilist    | 18 -----
 .../unix/sysv/linux/m68k/m680x0/libc.abilist  | 44 +++++++++---
 .../sysv/linux/m68k/m680x0/libpthread.abilist | 18 -----
 .../sysv/linux/microblaze/be/libc.abilist     | 44 +++++++++---
 .../linux/microblaze/be/libpthread.abilist    | 18 -----
 .../sysv/linux/microblaze/le/libc.abilist     | 44 +++++++++---
 .../linux/microblaze/le/libpthread.abilist    | 18 -----
 .../sysv/linux/mips/mips32/fpu/libc.abilist   | 44 +++++++++---
 .../sysv/linux/mips/mips32/libpthread.abilist | 18 -----
 .../sysv/linux/mips/mips32/nofpu/libc.abilist | 44 +++++++++---
 .../sysv/linux/mips/mips64/libpthread.abilist | 18 -----
 .../sysv/linux/mips/mips64/n32/libc.abilist   | 44 +++++++++---
 .../sysv/linux/mips/mips64/n64/libc.abilist   | 44 +++++++++---
 sysdeps/unix/sysv/linux/mtx_timedlock.c       | 21 ++++--
 sysdeps/unix/sysv/linux/nios2/libc.abilist    | 44 +++++++++---
 .../unix/sysv/linux/nios2/libpthread.abilist  | 18 -----
 .../linux/powerpc/powerpc32/fpu/libc.abilist  | 44 +++++++++---
 .../powerpc/powerpc32/libpthread.abilist      | 18 -----
 .../powerpc/powerpc32/nofpu/libc.abilist      | 44 +++++++++---
 .../linux/powerpc/powerpc64/be/libc.abilist   | 44 +++++++++---
 .../powerpc/powerpc64/be/libpthread.abilist   | 18 -----
 .../linux/powerpc/powerpc64/le/libc.abilist   | 44 +++++++++---
 .../powerpc/powerpc64/le/libpthread.abilist   | 18 -----
 .../unix/sysv/linux/riscv/rv32/libc.abilist   | 44 +++++++++---
 .../sysv/linux/riscv/rv32/libpthread.abilist  | 18 -----
 .../unix/sysv/linux/riscv/rv64/libc.abilist   | 44 +++++++++---
 .../sysv/linux/riscv/rv64/libpthread.abilist  | 18 -----
 .../unix/sysv/linux/s390/s390-32/libc.abilist | 44 +++++++++---
 .../linux/s390/s390-32/libpthread.abilist     | 18 -----
 .../unix/sysv/linux/s390/s390-64/libc.abilist | 44 +++++++++---
 .../linux/s390/s390-64/libpthread.abilist     | 18 -----
 sysdeps/unix/sysv/linux/sh/be/libc.abilist    | 44 +++++++++---
 .../unix/sysv/linux/sh/be/libpthread.abilist  | 18 -----
 sysdeps/unix/sysv/linux/sh/le/libc.abilist    | 44 +++++++++---
 .../unix/sysv/linux/sh/le/libpthread.abilist  | 18 -----
 .../sysv/linux/sparc/sparc32/libc.abilist     | 44 +++++++++---
 .../linux/sparc/sparc32/libpthread.abilist    | 18 -----
 .../sysv/linux/sparc/sparc64/libc.abilist     | 44 +++++++++---
 .../linux/sparc/sparc64/libpthread.abilist    | 18 -----
 sysdeps/unix/sysv/linux/thrd_priv.h           |  4 +-
 .../unix/sysv/linux/x86_64/64/libc.abilist    | 44 +++++++++---
 .../sysv/linux/x86_64/64/libpthread.abilist   | 18 -----
 .../unix/sysv/linux/x86_64/x32/libc.abilist   | 44 +++++++++---
 .../sysv/linux/x86_64/x32/libpthread.abilist  | 18 -----
 105 files changed, 1500 insertions(+), 899 deletions(-)
  

Comments

Carlos O'Donell May 2, 2021, 8:46 p.m. UTC | #1
On 4/26/21 12:59 PM, Florian Weimer via Libc-alpha wrote:
> thrd_create, thrd_detach, thrd_join cannot be moved yet because the
> corresponding POSIX functions have not been moved.
> 
> I removed GLIBC_PRIVATE and GLIBC_2.34 symbol versions along the way, as
> appropriate.
> 
> The first commit enables symbol moves to shared code that should not yet
> impact Hurd.  It could perhaps be reviewed seprately because further
> work depends on it (which will not conflict with this series on a
> textual level).
> 
> Tested on i686-linux-gnu, x86_64-linux-gnu.  Built using
> build-many-glibcs.py.

Overall tested and reviewed on x86_64 and i686.

LGTM.

Reviewed-by: Carlos O'Donell <carlos@redhat.com>
Tested-by: Carlos O'Donell <carlos@redhat.com>
 
> Thanks,
> Florian
> 
> Florian Weimer (19):
>   Add pthread-in-libc, libpthread-routines-var, librt-routines-var
>   nptl: Move call_once into libc
>   nptl: Move cnd_broadcast into libc
>   nptl: Move cnd_destroy into libc
>   nptl: Move cnd_init into libc
>   nptl: Move cnd_signal into libc
>   nptl: Move cnd_timedwait into libc
>   nptl: Move cnd_wait into libc
>   nptl: Move mtx_destroy into libc
>   nptl: Move mtx_init into libc
>   nptl: Move mtx_lock into libc
>   nptl: Move mtx_timedlock into libc
>   nptl: Move mtx_trylock into libc
>   nptl: Move mtx_unlock into libc
>   nptl: Move thrd_exit into libc
>   nptl: Move tss_create into libc
>   nptl: Move tss_delete into libc
>   nptl: Move tss_get into libc
>   nptl: Move tss_set into libc
> 
>  Makeconfig                                    | 11 +++
>  config.h.in                                   |  3 +
>  config.make.in                                |  1 +
>  configure                                     |  8 +++
>  configure.ac                                  |  6 ++
>  nptl/Versions                                 | 70 ++++++++++---------
>  nptl/pthreadP.h                               |  3 +
>  nptl/pthread_cond_broadcast.c                 |  5 +-
>  nptl/pthread_cond_signal.c                    |  5 +-
>  nptl/pthread_cond_wait.c                      | 12 ++--
>  nptl/pthread_getspecific.c                    |  7 +-
>  nptl/pthread_key_delete.c                     |  6 +-
>  nptl/pthread_mutex_destroy.c                  |  7 +-
>  nptl/pthread_mutex_init.c                     |  8 ++-
>  nptl/pthread_mutex_timedlock.c                |  8 ++-
>  nptl/pthread_mutex_trylock.c                  |  8 ++-
>  nptl/pthread_mutexattr_init.c                 |  6 +-
>  nptl/pthread_mutexattr_settype.c              |  6 +-
>  nptl/pthread_once.c                           |  4 +-
>  nptl/pthread_setspecific.c                    |  9 ++-
>  rt/Makefile                                   |  2 +
>  sysdeps/mach/hurd/configure                   |  3 +
>  sysdeps/mach/hurd/configure.ac                |  3 +
>  sysdeps/nptl/libc-lockP.h                     | 18 +++--
>  sysdeps/pthread/Makefile                      | 28 ++++++--
>  sysdeps/pthread/call_once.c                   | 11 ++-
>  sysdeps/pthread/cnd_broadcast.c               | 11 ++-
>  sysdeps/pthread/cnd_destroy.c                 | 11 ++-
>  sysdeps/pthread/cnd_init.c                    | 11 ++-
>  sysdeps/pthread/cnd_signal.c                  | 11 ++-
>  sysdeps/pthread/cnd_wait.c                    | 11 ++-
>  sysdeps/pthread/mtx_destroy.c                 | 11 ++-
>  sysdeps/pthread/mtx_init.c                    | 11 ++-
>  sysdeps/pthread/mtx_lock.c                    | 11 ++-
>  sysdeps/pthread/mtx_trylock.c                 | 11 ++-
>  sysdeps/pthread/mtx_unlock.c                  | 11 ++-
>  sysdeps/pthread/thrd_exit.c                   | 11 ++-
>  sysdeps/pthread/tss_create.c                  | 11 ++-
>  sysdeps/pthread/tss_delete.c                  | 11 ++-
>  sysdeps/pthread/tss_get.c                     | 11 ++-
>  sysdeps/pthread/tss_set.c                     | 11 ++-
>  sysdeps/unix/sysv/linux/aarch64/libc.abilist  | 44 +++++++++---
>  .../sysv/linux/aarch64/libpthread.abilist     | 18 -----
>  sysdeps/unix/sysv/linux/alpha/libc.abilist    | 44 +++++++++---
>  .../unix/sysv/linux/alpha/libpthread.abilist  | 18 -----
>  sysdeps/unix/sysv/linux/arc/libc.abilist      | 44 +++++++++---
>  .../unix/sysv/linux/arc/libpthread.abilist    | 18 -----
>  sysdeps/unix/sysv/linux/arm/be/libc.abilist   | 44 +++++++++---
>  .../unix/sysv/linux/arm/be/libpthread.abilist | 18 -----
>  sysdeps/unix/sysv/linux/arm/le/libc.abilist   | 44 +++++++++---
>  .../unix/sysv/linux/arm/le/libpthread.abilist | 18 -----
>  sysdeps/unix/sysv/linux/cnd_timedwait.c       | 21 ++++--
>  sysdeps/unix/sysv/linux/csky/libc.abilist     | 44 +++++++++---
>  .../unix/sysv/linux/csky/libpthread.abilist   | 18 -----
>  sysdeps/unix/sysv/linux/hppa/libc.abilist     | 44 +++++++++---
>  .../unix/sysv/linux/hppa/libpthread.abilist   | 18 -----
>  sysdeps/unix/sysv/linux/i386/libc.abilist     | 44 +++++++++---
>  .../unix/sysv/linux/i386/libpthread.abilist   | 18 -----
>  sysdeps/unix/sysv/linux/ia64/libc.abilist     | 44 +++++++++---
>  .../unix/sysv/linux/ia64/libpthread.abilist   | 18 -----
>  .../sysv/linux/m68k/coldfire/libc.abilist     | 44 +++++++++---
>  .../linux/m68k/coldfire/libpthread.abilist    | 18 -----
>  .../unix/sysv/linux/m68k/m680x0/libc.abilist  | 44 +++++++++---
>  .../sysv/linux/m68k/m680x0/libpthread.abilist | 18 -----
>  .../sysv/linux/microblaze/be/libc.abilist     | 44 +++++++++---
>  .../linux/microblaze/be/libpthread.abilist    | 18 -----
>  .../sysv/linux/microblaze/le/libc.abilist     | 44 +++++++++---
>  .../linux/microblaze/le/libpthread.abilist    | 18 -----
>  .../sysv/linux/mips/mips32/fpu/libc.abilist   | 44 +++++++++---
>  .../sysv/linux/mips/mips32/libpthread.abilist | 18 -----
>  .../sysv/linux/mips/mips32/nofpu/libc.abilist | 44 +++++++++---
>  .../sysv/linux/mips/mips64/libpthread.abilist | 18 -----
>  .../sysv/linux/mips/mips64/n32/libc.abilist   | 44 +++++++++---
>  .../sysv/linux/mips/mips64/n64/libc.abilist   | 44 +++++++++---
>  sysdeps/unix/sysv/linux/mtx_timedlock.c       | 21 ++++--
>  sysdeps/unix/sysv/linux/nios2/libc.abilist    | 44 +++++++++---
>  .../unix/sysv/linux/nios2/libpthread.abilist  | 18 -----
>  .../linux/powerpc/powerpc32/fpu/libc.abilist  | 44 +++++++++---
>  .../powerpc/powerpc32/libpthread.abilist      | 18 -----
>  .../powerpc/powerpc32/nofpu/libc.abilist      | 44 +++++++++---
>  .../linux/powerpc/powerpc64/be/libc.abilist   | 44 +++++++++---
>  .../powerpc/powerpc64/be/libpthread.abilist   | 18 -----
>  .../linux/powerpc/powerpc64/le/libc.abilist   | 44 +++++++++---
>  .../powerpc/powerpc64/le/libpthread.abilist   | 18 -----
>  .../unix/sysv/linux/riscv/rv32/libc.abilist   | 44 +++++++++---
>  .../sysv/linux/riscv/rv32/libpthread.abilist  | 18 -----
>  .../unix/sysv/linux/riscv/rv64/libc.abilist   | 44 +++++++++---
>  .../sysv/linux/riscv/rv64/libpthread.abilist  | 18 -----
>  .../unix/sysv/linux/s390/s390-32/libc.abilist | 44 +++++++++---
>  .../linux/s390/s390-32/libpthread.abilist     | 18 -----
>  .../unix/sysv/linux/s390/s390-64/libc.abilist | 44 +++++++++---
>  .../linux/s390/s390-64/libpthread.abilist     | 18 -----
>  sysdeps/unix/sysv/linux/sh/be/libc.abilist    | 44 +++++++++---
>  .../unix/sysv/linux/sh/be/libpthread.abilist  | 18 -----
>  sysdeps/unix/sysv/linux/sh/le/libc.abilist    | 44 +++++++++---
>  .../unix/sysv/linux/sh/le/libpthread.abilist  | 18 -----
>  .../sysv/linux/sparc/sparc32/libc.abilist     | 44 +++++++++---
>  .../linux/sparc/sparc32/libpthread.abilist    | 18 -----
>  .../sysv/linux/sparc/sparc64/libc.abilist     | 44 +++++++++---
>  .../linux/sparc/sparc64/libpthread.abilist    | 18 -----
>  sysdeps/unix/sysv/linux/thrd_priv.h           |  4 +-
>  .../unix/sysv/linux/x86_64/64/libc.abilist    | 44 +++++++++---
>  .../sysv/linux/x86_64/64/libpthread.abilist   | 18 -----
>  .../unix/sysv/linux/x86_64/x32/libc.abilist   | 44 +++++++++---
>  .../sysv/linux/x86_64/x32/libpthread.abilist  | 18 -----
>  105 files changed, 1500 insertions(+), 899 deletions(-)
>