xref: /aosp_15_r20/external/musl/arch/sh/pthread_arch.h (revision c9945492fdd68bbe62686c5b452b4dc1be3f8453)

__get_tp()1*c9945492SAndroid Build Coastguard Worker static inline uintptr_t __get_tp()
2*c9945492SAndroid Build Coastguard Worker {
3*c9945492SAndroid Build Coastguard Worker 	uintptr_t tp;
4*c9945492SAndroid Build Coastguard Worker 	__asm__ ("stc gbr,%0" : "=r" (tp) );
5*c9945492SAndroid Build Coastguard Worker 	return tp;
6*c9945492SAndroid Build Coastguard Worker }
7*c9945492SAndroid Build Coastguard Worker 
8*c9945492SAndroid Build Coastguard Worker #define TLS_ABOVE_TP
9*c9945492SAndroid Build Coastguard Worker #define GAP_ABOVE_TP 8
10*c9945492SAndroid Build Coastguard Worker 
11*c9945492SAndroid Build Coastguard Worker #define MC_PC pc
12*c9945492SAndroid Build Coastguard Worker 
13*c9945492SAndroid Build Coastguard Worker #ifdef __FDPIC__
14*c9945492SAndroid Build Coastguard Worker #define MC_GOT gregs[12]
15*c9945492SAndroid Build Coastguard Worker #define CANCEL_GOT (*(uintptr_t *)((char *)__syscall_cp_asm+sizeof(uintptr_t)))
16*c9945492SAndroid Build Coastguard Worker #endif
17