[ I should really have CC'd the selftests maintainer and mailing list. Adding them in Cc to patch 0/5 to bring this series to their attention. ] ----- On Jan 17, 2022, at 3:39 PM, Mathieu Desnoyers mathieu.desnoyers@xxxxxxxxxxxx wrote: > glibc-2.35 will be released on 2022-02-01. It introduces a user-space ABI > based on the thread pointer to access a reserved area of the TCB. > > The rseq selftests originally expected the rseq thread data to sit in a > __rseq_abi TLS variable. > > Considering that the rseq ABI only allows a single rseq registration per > thread, both cannot actively coexist in a process. > > Adapt the selftests librseq implementation to become compatible with > glibc-2.35. Keep a fallback implementation based on TLS available when > an older glibc is detected. > > Feedback is welcome, > > Thanks, > > Mathieu > > Mathieu Desnoyers (5): > selftests/rseq: Remove useless assignment to cpu variable > selftests/rseq: Remove volatile from __rseq_abi > selftests/rseq: Introduce rseq_get_abi() helper > selftests/rseq: Introduce thread pointer getters > selftests/rseq: Uplift rseq selftests for compatibility with > glibc-2.35 > > tools/testing/selftests/rseq/Makefile | 2 +- > tools/testing/selftests/rseq/param_test.c | 4 +- > tools/testing/selftests/rseq/rseq-arm.h | 32 ++-- > tools/testing/selftests/rseq/rseq-arm64.h | 32 ++-- > .../rseq/rseq-generic-thread-pointer.h | 25 +++ > tools/testing/selftests/rseq/rseq-mips.h | 32 ++-- > .../selftests/rseq/rseq-ppc-thread-pointer.h | 30 ++++ > tools/testing/selftests/rseq/rseq-ppc.h | 32 ++-- > tools/testing/selftests/rseq/rseq-s390.h | 24 +-- > .../selftests/rseq/rseq-thread-pointer.h | 19 +++ > .../selftests/rseq/rseq-x86-thread-pointer.h | 40 +++++ > tools/testing/selftests/rseq/rseq-x86.h | 30 ++-- > tools/testing/selftests/rseq/rseq.c | 161 +++++++++--------- > tools/testing/selftests/rseq/rseq.h | 24 ++- > 14 files changed, 302 insertions(+), 185 deletions(-) > create mode 100644 tools/testing/selftests/rseq/rseq-generic-thread-pointer.h > create mode 100644 tools/testing/selftests/rseq/rseq-ppc-thread-pointer.h > create mode 100644 tools/testing/selftests/rseq/rseq-thread-pointer.h > create mode 100644 tools/testing/selftests/rseq/rseq-x86-thread-pointer.h > > -- > 2.17.1 -- Mathieu Desnoyers EfficiOS Inc. http://www.efficios.com