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