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

Carlos O'Donell carlos@redhat.com
Sun May 2 20:46:01 GMT 2021


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(-)
> 


-- 
Cheers,
Carlos.



More information about the Libc-alpha mailing list