pthread_arch.h raw

   1  static inline uintptr_t __get_tp()
   2  {
   3  #if __mips_isa_rev < 2
   4  	register uintptr_t tp __asm__("$3");
   5  	__asm__ (".word 0x7c03e83b" : "=r" (tp) );
   6  #else
   7  	uintptr_t tp;
   8  	__asm__ ("rdhwr %0, $29" : "=r" (tp) );
   9  #endif
  10  	return tp;
  11  }
  12  
  13  #define TLS_ABOVE_TP
  14  #define GAP_ABOVE_TP 0
  15  
  16  #define TP_OFFSET 0x7000
  17  #define DTP_OFFSET 0x8000
  18  
  19  #define MC_PC pc
  20