Andreas Hartmann wrote:
> Andreas Hartmann wrote:
> [...]
>> But now, the question is:
>> Why does X crash running kernel 2.4.x with glibc 2.3.4 and not with kernel
>> 2.6.10? Why does X run fine using kernel 2.4 and 2.6 with glibc 2.3.3?
>> 
>> ----------------------------------------------
>>      |               glibc
>>      |       2.3.3           2.3.4
>> ------|-------------------------------------
>> kernel|
>> 2.4  |       X ok            X segfaults
>> 2.6  |       X ok            X ok
> 
> 
> Meanwhile, I could find where X crashes using glibc 2.3.4 with kernel 2.4.
> It's this piece of code in linux_vm86.c:267
> 
> static int
> vm86_rep(struct vm86_struct *ptr)
> {
>     int __res;
> 
> #ifdef __PIC__
>     /* When compiling with -fPIC, we can't use asm constraint "b" because
>        %ebx is already taken by gcc. */
>     __asm__ __volatile__("pushl %%ebx\n\t"
>                          "movl %2,%%ebx\n\t"
>                          "movl %1,%%eax\n\t"
>                          "int $0x80\n\t"
>                          "popl %%ebx"
>                          :"=a" (__res)
>                          :"n" ((int)113), "r" ((struct vm86_struct *)ptr));
> #else
>     __asm__ __volatile__("int $0x80\n\t"
>                          :"=a" (__res):"a" ((int)113),
>                          "b" ((struct vm86_struct *)ptr));
> #endif
> 
>             if (__res < 0) {
>                 errno = -__res;
>                 __res = -1;
>             }
>             else errno = 0;
>             return __res;
> }
> 
> 
> The function ExecX86int10 (vbe.c) calls do_vm86 (linux_vm86.c), which
> calls vm86_rep (linux_vm86.c).
> 
> 
> I don't understand, why this piece of assembler code works fine with glibc
> 2.3.3, but not with glibc 2.3.4, running kernel 2.4.x. It works fine again
> with kernel 2.6.

Solution for this problem can be found meanwhile at
https://bugs.freedesktop.org/show_bug.cgi?id=2431


Kind regards,
Andreas Hartmann
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to