|
From: Tom H. <to...@co...> - 2005-06-20 23:08:50
|
In message <200...@ac...>
Julian Seward <js...@ac...> wrote:
> m_main.c appears to allocate a page on the (root thread's)
> stack. On x86-linux, it then copies into it the code stubs
> in m_trampoline.S and then points the AT_SYSINFO entry there.
>
> This is pretty pointless because m_redir sets up redirects
> from _dl_sysinfo_int80 to this copy of the stuff in m_trampoline.S
> (x86) or from the magic hardwired addresses 0xFFFFFFFFFF600000 etc
> (amd64) to this copy. But why bother with the copy? Why not just
> redirect literally to the stuff in m_trampoline.S ? I think it's
> a hangover from before this was handled using the redir mechanism.
The reason for copying it was probably to ensure that it was in
the client address space so that it was accessible when pointercheck
was on.
Certainly the reason why I moved the amd64 vsyscalls into the
trampoline area that is copied was to avoid warnings from memcheck
whenever they were called because memcheck didn't think that code
in valgrind itself was valid for the client to be calling.
Tom
--
Tom Hughes (to...@co...)
http://www.compton.nu/
|