Re: Reduce function call costs on ELF platforms

From: Andrew Dunstan <andrew(at)dunslane(dot)net>
To: Andres Freund <andres(at)anarazel(dot)de>, Peter Eisentraut <peter(dot)eisentraut(at)enterprisedb(dot)com>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: Reduce function call costs on ELF platforms
Date: 2021-11-24 22:55:03
Message-ID: 01e1e02f-1cda-c2cc-e5e7-8fac059857f5@dunslane.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers


On 11/24/21 13:55, Andres Freund wrote:
> Hi,
>
> On 2021-11-23 17:28:08 +0100, Peter Eisentraut wrote:
>> On 22.11.21 23:32, Tom Lane wrote:
>>>> The easier approach for this class of issues is to use the linker option
>>>> -Bsymbolic.
>>> I don't recall details, but we've previously rejected the idea of
>>> trying to use -Bsymbolic widely; apparently it has undesirable
>>> side-effects on some platforms. See commit message for e3d77ea6b
>>> (hopefully there's some detail in the email thread [1]). It sounds
>>> like you're not actually proposing that, but I thought it would be
>>> a good idea to note the hazard here.
>> Also, IIRC, -Bsymbolic was once frowned upon by packaging policies, since it
>> prevents use of LD_PRELOAD. I'm not sure what the current thinking there
>> is, however.
> It doesn't break some (most?) of the uses of LD_PRELOAD. In particular, it
> doesn't break things like replacing the malloc implementation. When do you
> have a symbol that you want to override *inside* your library (executables
> already bind to their own symbols at compile time)? I've seen that for
> replacing buggy functions in closed source things, but that's about it?
>

Which things does it break exactly? 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).

cheers

andrew

--
Andrew Dunstan
EDB: https://www.enterprisedb.com

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Andres Freund 2021-11-24 23:12:06 Re: pgsql: xlog.c: Remove global variables ReadRecPtr and EndRecPtr.
Previous Message Michael Paquier 2021-11-24 22:45:46 Re: Postgres restart in the middle of exclusive backup and the presence of backup_label file