The time has come for a kernel interfacing library layer

Joerg Sonnenberger joerg at britannica.bec.de
Mon May 9 02:22:45 PDT 2005


On Sun, May 08, 2005 at 02:52:53PM -0700, Matthew Dillon wrote:
> 
> :On Sun, May 08, 2005 at 11:33:53AM -0700, Matthew Dillon wrote:
> :>     Well, if we go the cerror() route for the compatibility layer, that
> :>     means this layer cannot just be mapped but instead must run through
> :>     a relocation / ELF pass.
> :
> :I think we can even avoid that.  We push a stack frame to return into
> :cerror() onto the stack which the compat layer can return too. We have
> :to keep that in mind when doing the argument calculation, but that
> :should be easy to handle.
> :
> :Joerg
> 
>     The problem is where does the function address of cerror come
>     from ?  This library is implementing a system call, the function returns
>     to the caller, not to cerror.  I definitely do not want to hack up 
>     the stack frame.

I wanted to put an intermediate stack frame there. We need it anyway for
the internal compatibility handling in libc, even it adds another stack
frame for the "normal" case.

Joerg





More information about the Kernel mailing list