__get_tp()1*c9945492SAndroid Build Coastguard Workerstatic inline uintptr_t __get_tp() 2*c9945492SAndroid Build Coastguard Worker { 3*c9945492SAndroid Build Coastguard Worker #ifdef __clang__ 4*c9945492SAndroid Build Coastguard Worker uintptr_t tp; 5*c9945492SAndroid Build Coastguard Worker __asm__ ("l.ori %0, r10, 0" : "=r" (tp) ); 6*c9945492SAndroid Build Coastguard Worker #else 7*c9945492SAndroid Build Coastguard Worker register uintptr_t tp __asm__("r10"); 8*c9945492SAndroid Build Coastguard Worker __asm__ ("" : "=r" (tp) ); 9*c9945492SAndroid Build Coastguard Worker #endif 10*c9945492SAndroid Build Coastguard Worker return tp; 11*c9945492SAndroid Build Coastguard Worker } 12*c9945492SAndroid Build Coastguard Worker 13*c9945492SAndroid Build Coastguard Worker #define TLS_ABOVE_TP 14*c9945492SAndroid Build Coastguard Worker #define GAP_ABOVE_TP 0 15*c9945492SAndroid Build Coastguard Worker 16*c9945492SAndroid Build Coastguard Worker #define MC_PC regs.pc 17