|
From: Naveen K. <g_n...@ya...> - 2005-07-23 17:18:10
|
Got another unhandled instr vex x86->IR: unhandled instruction bytes: 0xF 0x34 0x5A 0x89 0f 34 sysenter 5a popl %edx 89 54 24 00 movl %edx,0x0(%esp) the sysenter instruction is the culprit Naveen __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com |
|
From: Tom H. <to...@co...> - 2005-07-23 17:22:44
|
In message <200...@we...>
Naveen Kumar <g_n...@ya...> wrote:
> Got another unhandled instr
>
> vex x86->IR: unhandled instruction bytes: 0xF 0x34
> 0x5A 0x89
>
> 0f 34 sysenter
> 5a popl %edx
> 89 54 24 00 movl %edx,0x0(%esp)
>
> the sysenter instruction is the culprit
How did you get to a sysenter instruction though? We don't support
that and instead force all system calls to go the int $80 route.
I don't know how hard it would be too implement - we do support the amd
version (the syscall instruction) on amd64 (but not on x86 currently).
Tom
--
Tom Hughes (to...@co...)
http://www.compton.nu/
|
|
From: Julian S. <js...@ac...> - 2005-07-23 17:35:15
|
> > the sysenter instruction is the culprit > > How did you get to a sysenter instruction though? We don't support > that and instead force all system calls to go the int $80 route. This is on solaris-x86. J |
|
From: Tom H. <to...@co...> - 2005-07-23 17:55:06
|
In message <200...@ac...>
Julian Seward <js...@ac...> wrote:
> > > the sysenter instruction is the culprit
> >
> > How did you get to a sysenter instruction though? We don't support
> > that and instead force all system calls to go the int $80 route.
>
> This is on solaris-x86.
So presumably you just need to make vex-x86 treat that as a syscall
instruction and end the BB so valgrind gets control and then Naveen
can worry about writing a system call handler to haul values out of
the appropriate registers.
In principle we could use that on linux as well and remove the hack
that forces int $80 for system calls.
Tom
--
Tom Hughes (to...@co...)
http://www.compton.nu/
|