libwine: Added LDT support for GNU/Hurd.
Based on a patch by Andrew Nguyen.
This commit is contained in:
parent
84df351b1e
commit
02e6f7d146
|
@ -92,6 +92,11 @@ static inline int set_thread_area( struct modify_ldt_s *ptr )
|
||||||
#include <machine/sysarch.h>
|
#include <machine/sysarch.h>
|
||||||
#endif /* __NetBSD__ || __FreeBSD__ || __OpenBSD__ */
|
#endif /* __NetBSD__ || __FreeBSD__ || __OpenBSD__ */
|
||||||
|
|
||||||
|
#ifdef __GNU__
|
||||||
|
#include <mach/i386/mach_i386.h>
|
||||||
|
#include <mach/mach_traps.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef __APPLE__
|
#ifdef __APPLE__
|
||||||
#include <i386/user_ldt.h>
|
#include <i386/user_ldt.h>
|
||||||
#endif
|
#endif
|
||||||
|
@ -203,6 +208,9 @@ static int internal_set_entry( unsigned short sel, const LDT_ENTRY *entry )
|
||||||
#elif defined(__APPLE__)
|
#elif defined(__APPLE__)
|
||||||
if ((ret = i386_set_ldt(index, (union ldt_entry *)entry, 1)) < 0)
|
if ((ret = i386_set_ldt(index, (union ldt_entry *)entry, 1)) < 0)
|
||||||
perror("i386_set_ldt");
|
perror("i386_set_ldt");
|
||||||
|
#elif defined(__GNU__)
|
||||||
|
if ((ret = i386_set_ldt(mach_thread_self(), sel, (descriptor_list_t)entry, 1)) != KERN_SUCCESS)
|
||||||
|
perror("i386_set_ldt");
|
||||||
#else
|
#else
|
||||||
fprintf( stderr, "No LDT support on this platform\n" );
|
fprintf( stderr, "No LDT support on this platform\n" );
|
||||||
exit(1);
|
exit(1);
|
||||||
|
|
Loading…
Reference in New Issue