On 11/24/21 22:57, Andres Freund wrote: > >> Which things does it break exactly? > -Bsymbolic causes symbols that are defined and referenced within one shared > library to use that definition. E.g. if a shared lib has a function > "do_something()" and some of its code calls do_something(), you cannot use > LD_PRELOAD (or a definition in the main binary) to redirect the call to > do_something() inside the shared library to something else. > > I.e. if a shared library calls a function that's *not* defined within that > shared library, -Bsymbolic doesn't have an effect for that symbol. > > >> I have a case where a library that >> is LD_PRELOADed calls PQsetSSLKeyPassHook_OpenSSL() in its constructor >> function. I'd be very unhappy if that stopped working (and so would our >> client). > Bsymbolic shouldn't affect that at all. >
Thanks for the explanation. cheers andrew -- Andrew Dunstan EDB: https://www.enterprisedb.com