[0/8] nptl: Move pthread_detach and pthread_join into libc

Message ID cover.1620650045.git.fweimer@redhat.com
Headers
Series nptl: Move pthread_detach and pthread_join into libc |

Message

Florian Weimer May 10, 2021, 12:37 p.m. UTC
  This needs a few cleanups first, and the series also moves the remaining
stack cache management into libc (reducing the size of
nptl/allocatestack.c as a side effect).

Tested on i686-linux-gnu and x86_64-linux-gnu, built with
build-many-glibcs.py.  (I had to revert the 32-bit incompatible warning
patches.)

Florian Weimer (8):
  nptl: Remove unused nptl/pthread_sigqueue.c stub implementation
  nptl: Move pthread_sigqueue implementation into main nptl directory
  nptl: Remove always-disabled debugging support
  nptl: Move pthread_setattr_default_np into libc
  nptl: Move stack cache management, __libpthread_freeres into libc
  nptl: Move __free_tcb into libc
  nptl: Move pthread_detach, thrd_detach into libc
  nptl: Move thread join functions into libc

 malloc/set-freeres.c                          |  15 +-
 nptl/Makefile                                 |  18 ++-
 nptl/Versions                                 |  36 +++--
 nptl/allocatestack.c                          | 147 +-----------------
 nptl/descr.h                                  |   6 +
 nptl/libpthread-compat.c                      |   5 +
 nptl/nptl-stack.c                             | 130 ++++++++++++++++
 nptl/nptl-stack.h                             |  50 ++++++
 nptl/nptl_free_tcb.c                          |  46 ++++++
 nptl/nptlfreeres.c                            |   3 +-
 nptl/pthreadP.h                               |  40 ++---
 nptl/pthread_clockjoin.c                      |  27 ++--
 nptl/pthread_create.c                         |  78 +---------
 nptl/pthread_detach.c                         |  16 +-
 nptl/pthread_join.c                           |  13 +-
 nptl/pthread_join_common.c                    |   2 +-
 nptl/pthread_setattr_default_np.c             |  10 +-
 nptl/pthread_sigqueue.c                       |  41 ++++-
 nptl/pthread_timedjoin.c                      |  22 ++-
 nptl/pthread_tryjoin.c                        |   8 +-
 sysdeps/pthread/Makefile                      |   4 +-
 sysdeps/pthread/thrd_detach.c                 |  11 +-
 sysdeps/pthread/thrd_join.c                   |  11 +-
 sysdeps/unix/sysv/linux/aarch64/libc.abilist  |  16 ++
 .../sysv/linux/aarch64/libpthread.abilist     |   9 +-
 sysdeps/unix/sysv/linux/alpha/libc.abilist    |  16 ++
 .../unix/sysv/linux/alpha/libpthread.abilist  |   9 +-
 sysdeps/unix/sysv/linux/arc/libc.abilist      |  16 ++
 .../unix/sysv/linux/arc/libpthread.abilist    |   8 -
 sysdeps/unix/sysv/linux/arm/be/libc.abilist   |  16 ++
 .../unix/sysv/linux/arm/be/libpthread.abilist |   9 +-
 sysdeps/unix/sysv/linux/arm/le/libc.abilist   |  16 ++
 .../unix/sysv/linux/arm/le/libpthread.abilist |   9 +-
 sysdeps/unix/sysv/linux/csky/libc.abilist     |  16 ++
 .../unix/sysv/linux/csky/libpthread.abilist   |   9 +-
 sysdeps/unix/sysv/linux/hppa/libc.abilist     |  16 ++
 .../unix/sysv/linux/hppa/libpthread.abilist   |   9 +-
 sysdeps/unix/sysv/linux/i386/libc.abilist     |  16 ++
 .../unix/sysv/linux/i386/libpthread.abilist   |   9 +-
 sysdeps/unix/sysv/linux/ia64/libc.abilist     |  16 ++
 .../unix/sysv/linux/ia64/libpthread.abilist   |   9 +-
 .../sysv/linux/m68k/coldfire/libc.abilist     |  16 ++
 .../linux/m68k/coldfire/libpthread.abilist    |   9 +-
 .../unix/sysv/linux/m68k/m680x0/libc.abilist  |  16 ++
 .../sysv/linux/m68k/m680x0/libpthread.abilist |   9 +-
 .../sysv/linux/microblaze/be/libc.abilist     |  16 ++
 .../linux/microblaze/be/libpthread.abilist    |   9 +-
 .../sysv/linux/microblaze/le/libc.abilist     |  16 ++
 .../linux/microblaze/le/libpthread.abilist    |   9 +-
 .../sysv/linux/mips/mips32/fpu/libc.abilist   |  16 ++
 .../sysv/linux/mips/mips32/libpthread.abilist |   9 +-
 .../sysv/linux/mips/mips32/nofpu/libc.abilist |  16 ++
 .../sysv/linux/mips/mips64/libpthread.abilist |   9 +-
 .../sysv/linux/mips/mips64/n32/libc.abilist   |  16 ++
 .../sysv/linux/mips/mips64/n64/libc.abilist   |  16 ++
 sysdeps/unix/sysv/linux/nios2/libc.abilist    |  16 ++
 .../unix/sysv/linux/nios2/libpthread.abilist  |   9 +-
 .../linux/powerpc/powerpc32/fpu/libc.abilist  |  16 ++
 .../powerpc/powerpc32/libpthread.abilist      |   9 +-
 .../powerpc/powerpc32/nofpu/libc.abilist      |  16 ++
 .../linux/powerpc/powerpc64/be/libc.abilist   |  16 ++
 .../powerpc/powerpc64/be/libpthread.abilist   |   9 +-
 .../linux/powerpc/powerpc64/le/libc.abilist   |  16 ++
 .../powerpc/powerpc64/le/libpthread.abilist   |   9 +-
 sysdeps/unix/sysv/linux/pthread_sigqueue.c    |  71 ---------
 .../unix/sysv/linux/riscv/rv32/libc.abilist   |  16 ++
 .../sysv/linux/riscv/rv32/libpthread.abilist  |   8 -
 .../unix/sysv/linux/riscv/rv64/libc.abilist   |  16 ++
 .../sysv/linux/riscv/rv64/libpthread.abilist  |   9 +-
 .../unix/sysv/linux/s390/s390-32/libc.abilist |  16 ++
 .../linux/s390/s390-32/libpthread.abilist     |   9 +-
 .../unix/sysv/linux/s390/s390-64/libc.abilist |  16 ++
 .../linux/s390/s390-64/libpthread.abilist     |   9 +-
 sysdeps/unix/sysv/linux/sh/be/libc.abilist    |  16 ++
 .../unix/sysv/linux/sh/be/libpthread.abilist  |   9 +-
 sysdeps/unix/sysv/linux/sh/le/libc.abilist    |  16 ++
 .../unix/sysv/linux/sh/le/libpthread.abilist  |   9 +-
 .../sysv/linux/sparc/sparc32/libc.abilist     |  16 ++
 .../linux/sparc/sparc32/libpthread.abilist    |   9 +-
 .../sysv/linux/sparc/sparc64/libc.abilist     |  16 ++
 .../linux/sparc/sparc64/libpthread.abilist    |   9 +-
 .../unix/sysv/linux/x86_64/64/libc.abilist    |  16 ++
 .../sysv/linux/x86_64/64/libpthread.abilist   |   9 +-
 .../unix/sysv/linux/x86_64/x32/libc.abilist   |  16 ++
 .../sysv/linux/x86_64/x32/libpthread.abilist  |   9 +-
 85 files changed, 973 insertions(+), 608 deletions(-)
 create mode 100644 nptl/nptl-stack.c
 create mode 100644 nptl/nptl-stack.h
 create mode 100644 nptl/nptl_free_tcb.c
 delete mode 100644 sysdeps/unix/sysv/linux/pthread_sigqueue.c