diff options
Diffstat (limited to 'winsup/cygwin/winbase.h')
-rw-r--r-- | winsup/cygwin/winbase.h | 84 |
1 files changed, 0 insertions, 84 deletions
diff --git a/winsup/cygwin/winbase.h b/winsup/cygwin/winbase.h deleted file mode 100644 index 801badc44..000000000 --- a/winsup/cygwin/winbase.h +++ /dev/null @@ -1,84 +0,0 @@ -#include_next "winbase.h" - -#ifndef _WINBASE2_H -#define _WINBASE2_H - -extern __inline__ long ilockincr (long *m) -{ - register int __res; - __asm__ __volatile__ ("\n\ - movl $1,%0\n\ - lock xadd %0,(%1)\n\ - inc %0\n\ - ": "=a" (__res), "=r" (m): "1" (m)); - return __res; -} -extern __inline__ long ilockdecr (long *m) -{ - register int __res; - __asm__ __volatile__ ("\n\ - movl $0xffffffff,%0\n\ - lock xadd %0,(%1)\n\ - dec %0\n\ - ": "=a" (__res), "=r" (m): "1" (m)); - return __res; -} -extern __inline__ long ilockexch (long *t, long v) -{ - register int __res; - __asm__ __volatile__ ("\n\ - movl (%2),%0\n\ -1: lock cmpxchgl %3,(%1)\n\ - jne 1b\n\ - ": "=a" (__res), "=c" (t): "1" (t), "d" (v)); - return __res; -} - -#undef InterlockedIncrement -#define InterlockedIncrement ilockincr -#undef InterlockedDecrement -#define InterlockedDecrement ilockdecr -#undef InterlockedExchange -#define InterlockedExchange ilockexch - -extern long tls_ix; - -extern __inline__ DWORD -my_tlsalloc () -{ - return (DWORD) ilockincr (&tls_ix); -} - -extern __inline__ BOOL -my_tlssetvalue (DWORD ix, void *val) -{ - char **stackbase; - __asm__ volatile ("movl %%fs:4,%0": "=g" (stackbase)); - stackbase[-ix] = (char *) val; - return 1; -} - -extern __inline__ void * -my_tlsgetvalue (DWORD ix) -{ - char **stackbase; - __asm__ volatile ("movl %%fs:4,%0": "=g" (stackbase)); - return stackbase[-ix]; -} - -extern __inline__ BOOL -my_tlsfree (DWORD ix) -{ - /* nothing for now */ - return 1; -} - -#undef TlsAlloc -#define TlsAlloc my_tlsalloc -#undef TlsGetValue -#define TlsGetValue my_tlsgetvalue -#undef TlsSetValue -#define TlsSetValue my_tlssetvalue -#undef TlsFree -#define TlsFree my_tlsfree -#endif /*_WINBASE2_H*/ |