Re: --as-needed compile option?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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)


[Index of Archives]     [Fedora Desktop]     [Fedora SELinux]     [Photo Sharing]     [Yosemite Forum]     [KDE Users]