--- programs/Xserver/hw/xfree86/os-support/linux/int10/vm86/linux_vm86.c.orig 2004-04-23 15:54:11.000000000 -0400 +++ programs/Xserver/hw/xfree86/os-support/linux/int10/vm86/linux_vm86.c 2005-01-31 08:55:46.000000000 -0500 @@ -271,14 +271,18 @@ /* When compiling with -fPIC, we can't use asm constraint "b" because %ebx is already taken by gcc. */ __asm__ __volatile__("pushl %%ebx\n\t" + "push %%gs\n\t" "movl %2,%%ebx\n\t" "movl %1,%%eax\n\t" "int $0x80\n\t" + "pop %%gs\n\t" "popl %%ebx" :"=a" (__res) :"n" ((int)113), "r" ((struct vm86_struct *)ptr)); #else - __asm__ __volatile__("int $0x80\n\t" + __asm__ __volatile__("push %%gs\n\t" + "int $0x80\n\t" + "pop %%gs" :"=a" (__res):"a" ((int)113), "b" ((struct vm86_struct *)ptr)); #endif