![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /proc/thread-self/root/opt/rh/gcc-toolset-11/root/usr/share/systemtap/runtime/linux/ |
/* Thread Local Storage * Copyright (C) 2020 Red Hat Inc. * * This file is part of systemtap, and is free software. You can * redistribute it and/or modify it under the terms of the GNU General * Public License (GPL); either version 2, or (at your option) any * later version. */ #ifndef _LINUX_STP_TLS_H_ #define _STAPLINUX_TLS_H_ // Redacted sysdeps/x86_64/nptl/tls.h See also descr.h // Thread context pointer, e.g. fs on x8664, points to this typedef union dtv dtv_t; struct tcbhead { void *tcb; /* Pointer to the TCB. */ dtv_t *dtv; }; // sysdeps/generic/dl-dtv.h // Dynamic thread vector pointer is the pointer to the tls variable block for a particular executable or module struct dtv_pointer { void *val; /* Pointer to data, or TLS_DTV_UNALLOCATED. */ void *to_free; /* Unaligned pointer, for deallocation. */ }; // Dynamic thread vector, tcbhead_t.dtv points to the first dtv which is a generation counter. // dtv[1..n] is the tls space for the executable and each loaded shared object typedef union dtv { unsigned long counter; struct dtv_pointer pointer; } dtv_t; #endif /* _STAPLINUX_TLS_H_ */