musl/arch/x86_64/pthread_arch.h
Rich Felker 8426a99048 ensure the compiler does not move around thread-register-based reads
if gcc decided to move this across a conditional that checks validity
of the thread register, an invalid thread-register-based read could be
performed and raise sigsegv.
2011-08-06 20:45:30 -04:00

10 lines
196 B
C

static inline struct pthread *__pthread_self()
{
struct pthread *self;
__asm__ __volatile__ ("movq %%fs:0,%0" : "=r" (self) );
return self;
}
#define CANCEL_REG_SP 15
#define CANCEL_REG_IP 16