On Mon, Jun 03, 2019 at 03:47:48PM +0200, Luca Lindhorst wrote:
Thanks for the help.
I guess there isn't a problem then. I didn't know that you can only
load a "special" ET_DYN PIE elf, it makes sense though.
FYI: I am investigating a problem relating NodeJS on ARM. And after
some more investigating I found out that openssl tries to dlload
itself again, for a reason I don't fully understand yet
("|Deliberately leak a reference to ourselves. This will force the
library to remain loaded until the atexit() handler is run at
process exit.|"). But since openssl is statically linked in node, it
loads the binary again.
Therefore this certainly isn't a uclibc problem.
I don't understand why it would dlopen the openssl binary rather than
libssl for this purpose. It should not be doing that, and there's
probably some other bug in openssl or in your integration of it that's
making it do that. It also might be something you could consider a bug
in uclibc -- attempting to dlopen the main program itself, rather than
some other executable, should probably give a handle to the existing
instance, rather than attempting to load it again.
Rich