--as-needed compile option?

Harald Hoyer harald at redhat.com
Thu Mar 31 15:11:51 UTC 2005


Joe Orton wrote:
> We had all sorts of problems with Apache and OpenSSL in this arena:
> 
> if httpd was not linked aganist -lssl -lcrypto, when mod_ssl, or any
> particular PHP extension using OpenSSL, was reloaded during a graceful
> restart, you risked getting libssl.so unmapped but not libcrypto.so,
> depending on the direction of the wind.  This caused havoc because some
> global variables in libcrypto would not get reinitialized, but those in
> libssl.so would.  Not fun.
> 
> So when I link httpd using -lssl -lcrypto, despite the fact that httpd
> itself does not use any symbols from those libraries, I *must* get an
> httpd with DT_NEEDED of libssl and libcrypto to ensure both stay mapped
> for the lifetime of the process.  That's why use of --as-needed must
> only be done as directed by the application.
> 
> joe
> 

Wow, global vars that are not static and are not properly initialized... hmm... design problem?

Also, maybe the libdl could be taught to unload/unmap the other libs as well (which would be the right fix)




More information about the test mailing list