[PATCH 0/4] Define TLS_TP_OFFSET on all architectures

Florian Weimer fweimer@redhat.com
Tue Jan 7 13:09:06 GMT 2025


Plus __thread_pointer cleanups to get the new test elf/tst-tls_tp_offset
working on all architectures.

The TLS_TP_OFFSET constant is needed for __rseq_offset adjustment in
extensible rseq support.

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

Thanks,
Florian

Florian Weimer (4):
  Move <thread_pointer.h> to kernel-independent sysdeps directories
  Add generic <thread_pointer.h>
  x86: Add missing #include <features.h> to <thread_pointer.h>
  elf: Always define TLS_TP_OFFSET

 elf/Makefile                                  |  1 +
 elf/tst-tls_tp_offset.c                       | 57 +++++++++++++++++++
 sysdeps/csky/{nptl => }/thread_pointer.h      |  0
 sysdeps/generic/dl-tls.h                      |  3 +
 sysdeps/generic/thread_pointer.h              | 28 +++++++++
 sysdeps/hppa/{nptl => }/thread_pointer.h      |  0
 sysdeps/i386/dl-tls.h                         |  3 +
 sysdeps/loongarch/{nptl => }/thread_pointer.h |  0
 sysdeps/m68k/{nptl => }/thread_pointer.h      |  0
 .../microblaze/{nptl => }/thread_pointer.h    |  0
 sysdeps/or1k/{nptl => }/thread_pointer.h      |  0
 sysdeps/powerpc/{nptl => }/thread_pointer.h   |  0
 sysdeps/riscv/{nptl => }/thread_pointer.h     |  0
 sysdeps/s390/dl-tls.h                         |  3 +
 sysdeps/sparc/{nptl => }/thread_pointer.h     |  0
 sysdeps/{nptl => }/thread_pointer.h           |  0
 sysdeps/x86/{nptl => }/thread_pointer.h       |  2 +
 sysdeps/x86_64/x32/dl-tls.h                   |  3 +
 18 files changed, 100 insertions(+)
 create mode 100644 elf/tst-tls_tp_offset.c
 rename sysdeps/csky/{nptl => }/thread_pointer.h (100%)
 create mode 100644 sysdeps/generic/thread_pointer.h
 rename sysdeps/hppa/{nptl => }/thread_pointer.h (100%)
 rename sysdeps/loongarch/{nptl => }/thread_pointer.h (100%)
 rename sysdeps/m68k/{nptl => }/thread_pointer.h (100%)
 rename sysdeps/microblaze/{nptl => }/thread_pointer.h (100%)
 rename sysdeps/or1k/{nptl => }/thread_pointer.h (100%)
 rename sysdeps/powerpc/{nptl => }/thread_pointer.h (100%)
 rename sysdeps/riscv/{nptl => }/thread_pointer.h (100%)
 rename sysdeps/sparc/{nptl => }/thread_pointer.h (100%)
 rename sysdeps/{nptl => }/thread_pointer.h (100%)
 rename sysdeps/x86/{nptl => }/thread_pointer.h (98%)


base-commit: 706209867f1ba89c458033408d419e92d8055f58
-- 
2.47.1



More information about the Libc-alpha mailing list