#include /* for x86 only */ unsigned long __readfsdword(unsigned long Offset) { unsigned long ret; __asm__ volatile ("movl %%fs:%1,%0" : "=r" (ret) ,"=m" ((*(volatile long *) Offset))); return ret; }