__get_tp()1*c9945492SAndroid Build Coastguard Workerstatic 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