1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
| | static inline struct pthread *__pthread_self()
{
char *self;
__asm__ __volatile__ ("stc gbr,%0" : "=r" (self) );
return (struct pthread *) (self + 8 - sizeof(struct pthread));
}
#define TLS_ABOVE_TP
#define TP_ADJ(p) ((char *)(p) + sizeof(struct pthread) - 8)
#define CANCEL_REG_IP 17
#ifdef SHARED
__attribute__((__visibility__("hidden")))
#endif
extern const char __cp_begin[1], __cp_end[1],
__cp2_begin[1], __cp2_end[1];
#define IN_CP(ip) ((uintptr_t)(ip)-(uintptr_t)__cp_begin \
< (uintptr_t)__cp_end-(uintptr_t)__cp_begin \
|| (uintptr_t)(ip)-(uintptr_t)__cp2_begin \
< (uintptr_t)__cp2_end-(uintptr_t)__cp2_begin)
|