Moved LDT selector allocation routines to libwine.
Added support for correct locking of all LDT operations.
Added separate functions to manipulate the %fs selector, which allows
using a global GDT selector on recent Linux kernels.

diff --git a/include/miscemu.h b/include/miscemu.h
index 002f182..0ef8287 100644
--- a/include/miscemu.h
+++ b/include/miscemu.h
@@ -145,11 +145,7 @@
  *       selector which is neither system selector nor zero.
  */
 #define CTX_SEG_OFF_TO_LIN(context,seg,off) \
-    (ISV86(context) ? PTR_REAL_TO_LIN((seg),(off)) : \
-     (!seg || IS_SELECTOR_SYSTEM(seg))? (void *)(ULONG_PTR)(off) : \
-      (IS_SELECTOR_32BIT(seg) ? \
-       (void *)((off) + (char*)MapSL(MAKESEGPTR((seg),0))) : \
-       MapSL(MAKESEGPTR((seg),(off)))))
+    (ISV86(context) ? PTR_REAL_TO_LIN((seg),(off)) : wine_ldt_get_ptr((seg),(off)))
 
 #define INT_BARF(context,num) \
     ERR( "int%x: unknown/not implemented parameters:\n" \