|
From: Jeremy F. <je...@go...> - 2002-11-22 07:08:50
|
On Thu, 2002-11-21 at 23:07, Julian Seward wrote:
> Um, I'm confused. I don't understand how to solve the following problem:
> memcheck calls a helper function to do a check, concludes there's an error
> and needs %EIP. How exactly do you propose to generate it if you don't
> know %eip at the point where the helper was called?
Oh, sorry. I was assuming you'd store that in a baseblock field before
the call. Hm, I guess that would need a trampoline to do it properly:
movl %ccall-func, %eax
call ccall-tramp
[...]
ccall-tramp:
movl (%esp), %ebx
movl %ebx, XX(%ebp)
jmp *%eax
Or perhaps do it completely inline. Maybe it's all a bit clumsy.
J
|