[MPlayer-dev-eng] Change to new vm86? (VESA not working on newer glibc:s)
Timo Jyrinki
timo.jyrinki at hut.fi
Tue Jun 17 16:31:31 CEST 2003
Hi,
Has anyone made any progress on this topic that has been around for
some time already? See:
http://mplayerhq.hu/pipermail/mplayer-users/2003-May/033464.html
http://mplayerhq.hu/pipermail/mplayer-users/2003-February/029443.html
http://www.mplayerhq.hu/pipermail/mplayer-users/2002-November/024594.html
etc. So, with glibc 2.2.5+ mplayer segfaults when -vo vesa is used,
effectively making users with any new distribution to miss the tv-out.
I don't know a lot of asm, but after some investigation about syscalls
and inline asm, I changed the function lrmi_vm86 in lrmi.c to this:
lrmi_vm86(unsigned long fn, struct vm86_struct *vm)
{
int r;
asm volatile (
"int $0x80"
: "=a" (r)
: "0" (166), "b" (fn), "c" (vm));
return r;
}
and in run_vm86(void), the line 'vret = lrmi_vm86(&context.vm);'
to 'vret = lrmi_vm86(VM86_ENTER,&context.vm);'. After all my ponderings,
that would seem correct, but it still crashes the same way as before.
Any ideas?
And yes, I did 'make' in osdep-directory before 'make' in the main,
so my new code was compiled in.
-TJ
More information about the MPlayer-dev-eng
mailing list