| --- elksemu/elks.c.orig 2005-11-04 01:35:37.000000000 +0100 |
| +++ elksemu/elks.c 2005-11-04 01:45:28.000000000 +0100 |
| @@ -129,8 +129,17 @@ |
| static inline int vm86_mine(struct vm86_struct* v86) |
| { |
| int __res; |
| +#ifndef __PIC__ |
| __asm__ __volatile__("int $0x80\n" |
| :"=a" (__res):"a" ((int)OLD_SYS_vm86), "b" ((int)v86)); |
| +#else |
| + __asm__ __volatile__( |
| + "movl %%ebx,%%ecx\n\t" |
| + "movl %2,%%ebx\n\t" |
| + "int $0x80\n\t" |
| + "movl %%ecx,%%ebx\n\t" |
| + :"=a" (__res):"a" ((int)OLD_SYS_vm86), "r" ((int)v86) : "ecx"); |
| +#endif |
| return __res; |
| } |
| #endif |