[uClibc]Double resolutions -- Is this normal?
spudmonkey at racsa.co.cr
spudmonkey at racsa.co.cr
Tue May 7 18:34:12 UTC 2002
Hi,
I've noticed the following behavior with my incarnation the
_dl_linux_resolve and I would like to know if anyone knows if this is
normal behavior.
Here is the scenario. I have a test program that references exit(), but
does not call it in the normal case. In the normal case, it just
returns to __uClibc_main(), where exit() is called.
The behavior that I am seeing is that the call from exit() from
__uClibc_main() invokes the resolver and _dl_find_hash() is called. The
weird thing is that _dl_find_hash finds the PLT declaration of exit() in
the main program -- NOT the real declaration in libuClibc.
The result is that __uClibc_main's exit call resolves to the exit() PLT
entry in the test program which, when called, takes us back through yet
another trip through _dl_linux_resolve.
Is this normal? If so, does anyone know of a way to get this back down
to one lookup?
Thanks in advance,
Greg Nutt
More information about the uClibc
mailing list