On Fri, 2009-02-27 at 08:54 -0800, Ian Lance Taylor wrote:

> > It would be totally awesome to do this if you could provide an option to
> > delegate to a user-provided function the allocation and deallocation of
> > the stack blobs needed by threads.
> 
> Yes, this would be a goal.

The main reason I asked about this is that it is not obvious to me how
this could be done: yes, you can call any function from your
compiler-generated code but, what would the user need to do to change
which address is called ?

1) specify a function name for allocation on the command-line during
compilation and link statically into every binary an object file which
contains the specified symbol ? This would allow you to have one
allocation function per generated binary (shared library or executable)
which might not be very desirable from a user-perspective.

2) generate code which uses a well-known name, calls this symbol through
the PLT (on ELF systems), and, relies on the ELF loader to resolve that
symbol in each binary to a single user-provided function. The libc could
provide its own default implementation which is overridden either with
LD_PRELOAD or by linking the function into the main executable.

I don't care much about which option is chosen but it would be nice to
know how you intend to deal with this aspect of the project.

Mathieu

Reply via email to