aboutsummaryrefslogtreecommitdiff
path: root/scripts/gdb/linux/clk.py
diff options
context:
space:
mode:
authorMathieu Desnoyers <[email protected]>2022-01-24 12:12:45 -0500
committerPeter Zijlstra <[email protected]>2022-02-02 13:11:35 +0100
commit233e667e1ae3e348686bd9dd0172e62a09d852e1 (patch)
tree5aab42ce471316adc344bc450e47808ec7fd9264 /scripts/gdb/linux/clk.py
parent886ddfba933f5ce9d76c278165d834d114ba4ffc (diff)
selftests/rseq: Uplift rseq selftests for compatibility with glibc-2.35
glibc-2.35 (upcoming release date 2022-02-01) exposes the rseq per-thread data in the TCB, accessible at an offset from the thread pointer, rather than through an actual Thread-Local Storage (TLS) variable, as the Linux kernel selftests initially expected. The __rseq_abi TLS and glibc-2.35's ABI for per-thread data cannot actively coexist in a process, because the kernel supports only a single rseq registration per thread. Here is the scheme introduced to ensure selftests can work both with an older glibc and with glibc-2.35+: - librseq exposes its own "rseq_offset, rseq_size, rseq_flags" ABI. - librseq queries for glibc rseq ABI (__rseq_offset, __rseq_size, __rseq_flags) using dlsym() in a librseq library constructor. If those are found, copy their values into rseq_offset, rseq_size, and rseq_flags. - Else, if those glibc symbols are not found, handle rseq registration from librseq and use its own IE-model TLS to implement the rseq ABI per-thread storage. Signed-off-by: Mathieu Desnoyers <[email protected]> Signed-off-by: Peter Zijlstra (Intel) <[email protected]> Link: https://lkml.kernel.org/r/[email protected]
Diffstat (limited to 'scripts/gdb/linux/clk.py')
0 files changed, 0 insertions, 0 deletions