diff --git a/winsup/w32api/lib/kernel32.c b/winsup/w32api/lib/kernel32.c new file mode 100644 index 000000000..c7c4b1807 --- /dev/null +++ b/winsup/w32api/lib/kernel32.c @@ -0,0 +1,25 @@ +/* extern (library) versions of inline functions defined in winnt.h */ + +void* GetCurrentFiber(void) +{ + void* ret; + __asm__ volatile ( + "movl %%fs:0x10,%0" + : "=r" (ret) /* allow use of reg eax,ebx,ecx,edx,esi,edi */ + : + ); + return ret; +} + +void* GetFiberData(void) +{ + void* ret; + __asm__ volatile ( + "movl %%fs:0x10,%0\n" + "movl (%0),%0" + : "=r" (ret) /* allow use of reg eax,ebx,ecx,edx,esi,edi */ + : + ); + return ret; +} +