This is v4 of the patchset. The previous versions are at [0][1][2][3]. [0]: https://lists.gnu.org/archive/html/bug-hurd/2021-05/msg00053.html [1]: https://lists.gnu.org/archive/html/bug-hurd/2021-05/msg00063.html [2]: https://sourceware.org/pipermail/libc-alpha/2021-August/130614.html [3]: https://sourceware.org/pipermail/libc-alpha/2021-September/130810.html
Changes since v3: * Drop the two patches (1/5 and 5/5) that have been pushed (the remaining three patches are numbered 2/4, 3/4, 4/4) * Use __libc_rwlock for dl_pthread_threads_lock instead of a plain int/lll To test, before: $ rpctrace -o >(grep -c wake) /bin/uname GNU 58 After: $ ./testrun.sh --tool=rpctrace /bin/uname 2> >(grep -c wake) GNU 0 Sergey Bugaev (3): htl: Move thread table to ld.so htl: Reimplement GSCOPE elf: Remove THREAD_GSCOPE_IN_TCB elf/dl-support.c | 3 -- htl/Versions | 2 - htl/pt-alloc.c | 50 +++++++++------------ htl/pt-create.c | 8 ++-- htl/pt-internal.h | 23 +++------- sysdeps/aarch64/nptl/tls.h | 1 - sysdeps/alpha/nptl/tls.h | 1 - sysdeps/arc/nptl/tls.h | 1 - sysdeps/arm/nptl/tls.h | 1 - sysdeps/csky/nptl/tls.h | 1 - sysdeps/generic/ldsodefs.h | 13 +++--- sysdeps/generic/tls.h | 6 --- sysdeps/hppa/nptl/tls.h | 1 - sysdeps/htl/dl-support.c | 23 ++++++++++ sysdeps/htl/dl-thread_gscope_wait.c | 55 ++++++++++++++++++++++++ sysdeps/htl/pt-key-delete.c | 8 ++-- sysdeps/htl/pthreadP.h | 2 - sysdeps/htl/raise.c | 8 +++- sysdeps/htl/thrd_current.c | 7 ++- sysdeps/i386/nptl/tls.h | 1 - sysdeps/ia64/nptl/tls.h | 1 - sysdeps/m68k/nptl/tls.h | 1 - sysdeps/mach/hurd/htl/pt-sigstate-init.c | 2 +- sysdeps/mach/hurd/htl/pt-sysdep.c | 2 +- sysdeps/mach/hurd/htl/pt-sysdep.h | 2 +- sysdeps/mach/hurd/i386/tls.h | 19 ++++++++ sysdeps/mach/hurd/tls.h | 20 --------- sysdeps/microblaze/nptl/tls.h | 1 - sysdeps/mips/nptl/tls.h | 1 - sysdeps/nios2/nptl/tls.h | 1 - sysdeps/powerpc/nptl/tls.h | 1 - sysdeps/riscv/nptl/tls.h | 1 - sysdeps/s390/nptl/tls.h | 1 - sysdeps/sh/nptl/tls.h | 1 - sysdeps/sparc/nptl/tls.h | 1 - sysdeps/x86_64/nptl/tls.h | 1 - 36 files changed, 156 insertions(+), 115 deletions(-) create mode 100644 sysdeps/htl/dl-support.c create mode 100644 sysdeps/htl/dl-thread_gscope_wait.c -- 2.31.1